Harbor Hearts 0.1.0 — a local game for Play Games Daily ORIGIN The code, harbor scene, café characters, playing-card symbols, visual design, explanations, and synthesized sounds in this package were authored for this project. No third-party Hearts implementation or card assets were copied. Harbor Hearts is a working game title; this implementation record is not a trademark clearance or a claim about every other Hearts game. RULE REFERENCES Traditional four-player Black Lady Hearts rules were compared with: Bicycle — How to Play Hearts https://bicyclecards.com/how-to-play/hearts/ CardGames.io — How to play Hearts https://cardgames.io/blog/how-to-play-hearts/ Both were inspected in the project's browser research on 2026-10-19. Their published explanations are references, not text or art assets in this game. Neither publisher sponsors or endorses this implementation. EXPLICIT TABLE VARIANT - One standard 52-card deck, four individual seats, thirteen cards each. - Aces high; no trump; clockwise play; follow the led suit when possible. - In matches, pass three left, right, across, then keep. Repeat that cycle. Practice lets the player choose a pass direction or a keep-hand deal. - The holder of the 2 of clubs opens the first trick with that card. - On the first trick, a player without clubs must discard a non-penalty card if one is available. If only hearts and/or Q of spades remain in that player's hand, a penalty discard is allowed. This explicit fallback avoids an impossible-to-play deal; the two reference pages do not specify this rare all-penalty exception in their published first-trick wording. - Hearts may not be led until a heart has been played, unless the leader holds only hearts. Q of spades does NOT break hearts and may be led after the opening trick. This follows CardGames.io's stated queen distinction; Bicycle's reference instead allows a discarded queen to break hearts. - Each heart costs 1 point; Q of spades costs 13. Shooting the moon means taking all 26 penalty points: the shooter adds 0, all other players 26. There is no subtract-26 or choose-your-moon option. - A match ends after the hand in which someone reaches at least 100 points. The lowest total wins; tied lowest totals share first. This is an explicit local choice, different from CardGames.io's tie-breaking extra rounds. - One-hand practice ends after thirteen tricks; its low hand scores win. OPPONENTS, SAVING, AND LIMITS The three deterministic opponents use their own hands and public cards, scores, suit voids, and remaining card counts. They cannot inspect other players' hands. They are heuristic opponents, not an expert Hearts solver; suggestions are legal advice with a tactical reason, not guaranteed wins. There is no wagering, online matchmaking, telemetry, advertising, or remote service. Sound uses small local Web Audio oscillators and begins off. Autosaves and six optional named tables are stored in this browser. A table backup contains a seed and action history that can reconstruct hidden cards; it is a personal backup, not a tamper-proof competitive score. Invalid saves are preserved, not automatically overwritten. When storage is blocked, the current table remains playable for the open page. Removing or replacing the browser's storage can remove saved tables. A stale tab cannot silently overwrite another tab's newer autosave. The runtime is preview/noindex and served only through a digest-verified local distribution manifest. The package contains no project instructions, research copies, personal machine paths, or credentials. No publishing or remote deployment is performed by the build script. Main-site shell integration 1 (2026-10-20): collection navigation points to /#games. In a same-origin host, an explicit collection-link click requests player exit through a source-checked message. Standalone sibling promotion links are omitted. The complete original license texts remain in this package.