Add Kestrel's Hall landing page at /gamehall/
Static landing page for gamehall.kestrelsnest.social: free browser board games between friends (Wiz-War, Waving Hands, Hnefatafl), plus artwork, favicon, and Open Graph image. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><circle cx="32" cy="32" r="30" fill="#14181a" stroke="#d2a94a" stroke-width="3"/><text x="32" y="44" text-anchor="middle" font-family="Iowan Old Style, Georgia, serif" font-size="36" fill="#e6dfcf">K</text></svg>
|
||||||
|
After Width: | Height: | Size: 272 B |
|
After Width: | Height: | Size: 69 KiB |
@@ -0,0 +1,207 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Kestrel's Hall</title>
|
||||||
|
<meta name="description" content="Free board games between friends, in the browser: Wiz-War, Waving Hands, and Hnefatafl. No accounts, no adverts, nothing sold.">
|
||||||
|
<link rel="canonical" href="https://gamehall.kestrelsnest.social/">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Kestrel's Hall">
|
||||||
|
<meta property="og:description" content="Free board games between friends, in the browser. No accounts, no adverts, nothing sold.">
|
||||||
|
<meta property="og:url" content="https://gamehall.kestrelsnest.social/">
|
||||||
|
<meta property="og:image" content="https://blog.kestrelsnest.social/gamehall/og.png">
|
||||||
|
<meta property="og:image:width" content="1200">
|
||||||
|
<meta property="og:image:height" content="630">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<link rel="icon" href="favicon.svg">
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--ink: #14181a;
|
||||||
|
--panel: #1c2124;
|
||||||
|
--line: #2c3236;
|
||||||
|
--bone: #e6dfcf;
|
||||||
|
--bone-dim: #a9a494;
|
||||||
|
--bone-faint: #7c7868;
|
||||||
|
--gold: #d2a94a;
|
||||||
|
--gutter: 16px;
|
||||||
|
}
|
||||||
|
* { box-sizing: border-box; }
|
||||||
|
html { background: var(--ink); }
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: var(--ink);
|
||||||
|
color: var(--bone);
|
||||||
|
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.5;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
a { color: var(--gold); text-decoration: none; }
|
||||||
|
a:hover { text-decoration: underline; }
|
||||||
|
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 var(--gutter); }
|
||||||
|
|
||||||
|
header.mast { padding: 56px 0 28px; text-align: center; }
|
||||||
|
header.mast h1 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: clamp(2.4rem, 6vw, 4rem);
|
||||||
|
font-weight: 400;
|
||||||
|
letter-spacing: 0.01em;
|
||||||
|
line-height: 1.05;
|
||||||
|
}
|
||||||
|
header.mast p.lede {
|
||||||
|
margin: 14px auto 0;
|
||||||
|
max-width: 34em;
|
||||||
|
font-size: clamp(1.05rem, 2.2vw, 1.3rem);
|
||||||
|
color: var(--bone-dim);
|
||||||
|
}
|
||||||
|
header.mast p.lede b { color: var(--bone); font-weight: 500; }
|
||||||
|
|
||||||
|
.games { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); margin-top: 22px; }
|
||||||
|
@media (max-width: 860px) { .games { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; } }
|
||||||
|
.game {
|
||||||
|
display: flex; flex-direction: column;
|
||||||
|
background: var(--panel);
|
||||||
|
border: 1px solid var(--line);
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: transform .15s ease, border-color .15s ease;
|
||||||
|
}
|
||||||
|
.game:hover { transform: translateY(-3px); border-color: var(--gold); text-decoration: none; }
|
||||||
|
.game .art { position: relative; aspect-ratio: 5 / 3; background: #222; overflow: hidden; }
|
||||||
|
.game .art img.fill { width: 100%; height: 100%; object-fit: cover; display: block; }
|
||||||
|
.game .art img.tafl { object-position: 50% 50%; }
|
||||||
|
.game .art img.hands { object-position: 0% 50%; }
|
||||||
|
.game .body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
|
||||||
|
.game h2 { margin: 0; font-size: 1.45rem; font-weight: 500; }
|
||||||
|
.game .pitch { margin: 0; color: var(--bone); }
|
||||||
|
.game .facts { margin: 0; color: var(--bone-faint); font-size: 0.92rem; }
|
||||||
|
.game .play { margin-top: auto; padding-top: 10px; color: var(--gold); font-size: 1rem; }
|
||||||
|
.game:hover .play { text-decoration: underline; }
|
||||||
|
|
||||||
|
/* The maze card: a stone floor in CSS, mortar-coloured walls, and the hall's own token drawings. */
|
||||||
|
.maze {
|
||||||
|
width: 100%; height: 100%;
|
||||||
|
background: #2a2e33;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
|
||||||
|
linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
|
||||||
|
radial-gradient(circle at 30% 40%, rgba(255,240,200,.05), transparent 60%);
|
||||||
|
background-size: 12.5% 20%, 12.5% 20%, 100% 100%;
|
||||||
|
}
|
||||||
|
.maze .w { position: absolute; background: #b8a77d; box-shadow: 0 0 0 1px #5c5238, 0 2px 4px rgba(0,0,0,.5); border-radius: 2px; }
|
||||||
|
.maze .h { height: 3%; }
|
||||||
|
.maze .v { width: 1.8%; }
|
||||||
|
.maze .t { position: absolute; width: 12.5%; filter: drop-shadow(0 2px 3px rgba(0,0,0,.6)); }
|
||||||
|
|
||||||
|
section { margin-top: 56px; }
|
||||||
|
section h2 { font-size: 1.6rem; font-weight: 400; margin: 0 0 12px; }
|
||||||
|
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
|
||||||
|
@media (max-width: 720px) { .cols { grid-template-columns: 1fr; gap: 28px; } }
|
||||||
|
section p { margin: 0 0 12px; color: var(--bone-dim); }
|
||||||
|
section p b { color: var(--bone); font-weight: 500; }
|
||||||
|
ul.how { margin: 0; padding-left: 1.2em; color: var(--bone-dim); }
|
||||||
|
ul.how li { margin-bottom: 8px; }
|
||||||
|
ul.how b { color: var(--bone); font-weight: 500; }
|
||||||
|
|
||||||
|
.keeper { display: flex; gap: 20px; align-items: flex-start; }
|
||||||
|
.keeper img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; border: 2px solid var(--line); }
|
||||||
|
@media (max-width: 480px) { .keeper { flex-direction: column; } }
|
||||||
|
|
||||||
|
footer { margin-top: 64px; padding: 28px 0 48px; border-top: 1px solid var(--line); color: var(--bone-faint); font-size: 0.9rem; }
|
||||||
|
footer p { margin: 0 0 8px; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="wrap">
|
||||||
|
|
||||||
|
<header class="mast">
|
||||||
|
<h1>Kestrel's Hall</h1>
|
||||||
|
<p class="lede"><b>Free board games between friends, in the browser.</b> No accounts, no adverts, no timers, and nothing sold. Open a table, send a friend the link, and play.</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="games">
|
||||||
|
|
||||||
|
<a class="game" href="https://wizwar.kestrelsnest.social">
|
||||||
|
<div class="art">
|
||||||
|
<div class="maze">
|
||||||
|
<div class="w h" style="left:12.5%;top:19%;width:25%"></div>
|
||||||
|
<div class="w v" style="left:36.2%;top:19%;height:42%"></div>
|
||||||
|
<div class="w h" style="left:50%;top:39%;width:37.5%"></div>
|
||||||
|
<div class="w v" style="left:61.2%;top:59%;height:41%"></div>
|
||||||
|
<div class="w h" style="left:0;top:59%;width:25%"></div>
|
||||||
|
<div class="w v" style="left:86.2%;top:0;height:40%"></div>
|
||||||
|
<div class="w h" style="left:75%;top:80%;width:25%"></div>
|
||||||
|
<img class="t" src="wizard-0.svg" alt="" style="left:0.5%;top:21%">
|
||||||
|
<img class="t" src="wizard-1.svg" style="left:75.5%;top:42%" alt="">
|
||||||
|
<img class="t" src="wizard-2.svg" style="left:38%;top:62%" alt="">
|
||||||
|
<img class="t" src="treasure-0.svg" style="left:88%;top:1%" alt="">
|
||||||
|
<img class="t" src="skeleton.svg" style="left:25.5%;top:1%" alt="">
|
||||||
|
<img class="t" src="troll.svg" style="left:50.5%;top:21%" alt="">
|
||||||
|
<img class="t" src="rock.svg" style="left:13%;top:82%" alt="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="body">
|
||||||
|
<h2>Wiz-War</h2>
|
||||||
|
<p class="pitch">Steal treasure. Blast through walls. Outwit your friends.</p>
|
||||||
|
<p class="facts">2 to 6 players · an unofficial rebuild of Tom Jolly's 1993 board game</p>
|
||||||
|
<span class="play">Play at wizwar.kestrelsnest.social →</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a class="game" href="https://hands.kestrelsnest.social">
|
||||||
|
<div class="art"><img class="fill hands" src="hands.png" alt="The Waving Hands share card: a column of gesture letters beside the title."></div>
|
||||||
|
<div class="body">
|
||||||
|
<h2>Waving Hands</h2>
|
||||||
|
<p class="pitch">Duelling wizards. Two hands each. The right run of gestures is a spell.</p>
|
||||||
|
<p class="facts">2 to 12 players · Richard Bartle's pencil-and-paper duel, 1977</p>
|
||||||
|
<span class="play">Play at hands.kestrelsnest.social →</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a class="game" href="https://tafl.kestrelsnest.social">
|
||||||
|
<div class="art"><img class="fill tafl" src="tafl.svg" alt="A hnefatafl board at the start of a game: the king on the throne, defenders around him, attackers on the four edges."></div>
|
||||||
|
<div class="body">
|
||||||
|
<h2>Hnefatafl</h2>
|
||||||
|
<p class="pitch">The Viking board game. One king, one throne, four corners, and a ring of attackers closing in.</p>
|
||||||
|
<p class="facts">2 players · the Norse tafl game, by the Copenhagen rules or Linnaeus's 1732 Tablut</p>
|
||||||
|
<span class="play">Play at tafl.kestrelsnest.social →</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="cols">
|
||||||
|
<div>
|
||||||
|
<h2>How a table works</h2>
|
||||||
|
<ul class="how">
|
||||||
|
<li><b>Open a table</b> and you get a four-letter code and a link. Send it to a friend; they sit down and you begin.</li>
|
||||||
|
<li><b>No one home?</b> Every game seats the house: an automaton, a housecarl, a rival wizard. Play now, alone.</li>
|
||||||
|
<li><b>Nothing to sign up for.</b> Your browser holds your seat. Close the tab and come back; the game is where you left it.</li>
|
||||||
|
<li><b>Watchers welcome.</b> Anyone with the link can sit in the Peanut Gallery and, if the host allows, join the table talk.</li>
|
||||||
|
<li><b>Something went wrong?</b> Every table has a report button that reaches the keeper, pinned to the exact moment.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h2>The keeper</h2>
|
||||||
|
<div class="keeper">
|
||||||
|
<img src="face.jpg" alt="Eric Wagoner">
|
||||||
|
<div>
|
||||||
|
<p>I am Eric, and I keep these tables from Athens, Georgia. These are games I have loved at a real table, rebuilt so friends can play them from wherever they are, with the door left open for anyone who wanders in.</p>
|
||||||
|
<p>Send word to <a href="mailto:eric@ericwagoner.com">eric@ericwagoner.com</a>, <a href="https://bsky.app/profile/kestrelsnest.social">@kestrelsnest.social</a> on Bluesky, or <a href="https://toots.kestrelsnest.social/@eric">@eric@toots.kestrelsnest.social</a> on Mastodon. I roost at <a href="https://blog.kestrelsnest.social">blog.kestrelsnest.social</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h2 style="margin-top:28px">The hosting</h2>
|
||||||
|
<p>The games are free and will stay free. They run on small servers that cost a few dollars a month; anyone who wants to chip in toward the hosting can at <a href="https://ko-fi.com/kestrelsnest">ko-fi.com/kestrelsnest</a>. Nothing is unlocked by it and nothing is withheld without it.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Wiz-War is Tom Jolly's design; the rights rest with Steve Jackson Games. Waving Hands is Richard Bartle's. Nothing here is official or endorsed by Steve Jackson Games or Richard Bartle. Hnefatafl belongs to everyone; it is a thousand years old.</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
After Width: | Height: | Size: 181 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Rock token">
|
||||||
|
<title>Rock</title><desc>Rock illustrated in shaded ink on parchment.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#7b8272" stop-opacity=".2"/><stop offset="1" stop-color="#7b8272" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M22 103L29 68 50 42 83 31 111 57 125 97 99 119 50 122Z" fill="#777b75" stroke="#302a29" stroke-width="2.0" /><path d="M29 68L64 74 83 31 50 42Z" fill="#b4b4a0" stroke="#302a29" stroke-width="2.0" /><path d="M64 74L99 119 50 122 22 103Z" fill="#929486" stroke="#302a29" stroke-width="2.0" /><path d="M64 74L108 62 125 97 99 119Z" fill="#535d59" stroke="#302a29" stroke-width="2.0" /><path d="M83 31L108 62 64 74Z" fill="#969b8d" stroke="#302a29" stroke-width="2.0" /><path d="M35 71L47 53 60 46M29 100L44 113M76 78L97 110" fill="none" stroke="#d0c9ac" stroke-width="2" /><path d="M99 72L109 90M104 70L117 96M103 104L115 99M52 117L47 104M57 117L52 103" fill="none" stroke="#302a29" stroke-width="1.1" opacity=".45"/></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#7b8272" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Rock</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Skeleton token">
|
||||||
|
<title>Skeleton</title><desc>Skeleton illustrated in shaded ink on parchment.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#657275" stop-opacity=".2"/><stop offset="1" stop-color="#657275" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M30 119L43 88 57 83 55 70 88 69 87 84 107 94 118 119Z" fill="#464b58" stroke="#302a29" stroke-width="2.0" /><path d="M46 91L26 102 21 78M99 93L114 82 117 59" fill="none" stroke="#302a29" stroke-width="9" /><path d="M46 91L26 102 21 78M99 93L114 82 117 59" fill="none" stroke="#e9dfc4" stroke-width="5" /><path d="M72 79V107M56 85Q70 93 87 84M54 94Q72 102 89 92M58 103Q72 110 85 101" fill="none" stroke="#302a29" stroke-width="8" /><path d="M72 79V107M56 85Q70 93 87 84M54 94Q72 102 89 92M58 103Q72 110 85 101" fill="none" stroke="#e9dfc4" stroke-width="4" /><path d="M61 109L53 123M81 108L91 122" fill="none" stroke="#e9dfc4" stroke-width="5" /><path d="M49 52Q45 27 70 24Q100 23 100 50L91 64 88 77 59 77 56 64Z" fill="#ede3c9" stroke="#302a29" stroke-width="2.0" /><path d="M85 29Q103 37 96 52L85 66 85 76 93 64 100 49Q100 32 85 29Z" fill="#b8ae93" stroke="none" stroke-width="2.0" /><ellipse cx="62" cy="51" rx="9" ry="10" fill="#302a29" stroke="none" stroke-width="2"/><ellipse cx="85" cy="50" rx="9" ry="10" fill="#302a29" stroke="none" stroke-width="2"/><path d="M50 41L68 48M78 46L96 38" fill="none" stroke="#ede3c9" stroke-width="5" /><path d="M73 58L67 67 78 67Z" fill="#302a29" stroke="#302a29" stroke-width="2.0" /><path d="M62 70H85M65 70V77M73 70V77M81 70V77" fill="none" stroke="#302a29" stroke-width="2" /><path d="M110 69L124 54M118 57L112 17 119 22 124 54Z" fill="#aeb8b5" stroke="#302a29" stroke-width="2.0" /><path d="M113 65L119 71" fill="none" stroke="#d6ad57" stroke-width="4" /></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#657275" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Skeleton</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Treasure token">
|
||||||
|
<title>Treasure</title><desc>Open treasure chest with gold coins and a matching wizard color and crest.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#28724d" stop-opacity=".2"/><stop offset="1" stop-color="#28724d" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M22 68L99 67 124 82 119 117 42 123 23 108Z" fill="#143f35" stroke="#302a29" stroke-width="2.0" /><path d="M25 75L43 88 42 123 23 108Z" fill="#28724d" stroke="#302a29" stroke-width="2.0" /><path d="M43 88L123 80 119 117 42 123Z" fill="#28724d" stroke="#302a29" stroke-width="2.0" /><path d="M29 67L23 42Q57 19 103 34L112 59 93 78Z" fill="#143f35" stroke="#302a29" stroke-width="2.0" /><path d="M30 44Q62 27 99 39L104 55 35 64Z" fill="#28724d" stroke="#302a29" stroke-width="2.0" /><path d="M36 48Q68 35 94 42" fill="none" stroke="#7bbf7d" stroke-width="4" /><path d="M29 66L93 60 112 62 100 76 42 85Z" fill="#48362e" stroke="#302a29" stroke-width="2.0" /><ellipse cx="43" cy="70" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M39 69h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><ellipse cx="58" cy="70" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M54 69h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><ellipse cx="72" cy="67" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M68 66h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><ellipse cx="88" cy="69" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M84 68h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><ellipse cx="99" cy="64" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M95 63h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><ellipse cx="54" cy="77" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M50 76h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><ellipse cx="79" cy="76" rx="8" ry="4" fill="#d6ad57" stroke="#302a29" stroke-width="1.4"/><path d="M75 75h5" fill="none" stroke="#f8edcf" stroke-width="1.3" /><path d="M21 68L43 84 125 77 124 86 43 94 22 77Z" fill="#d6ad57" stroke="#302a29" stroke-width="2.0" /><path d="M48 90L55 90 53 121 46 122ZM107 85L114 85 111 118 104 119Z" fill="#d6ad57" stroke="#302a29" stroke-width="2.0" /><path d="M35 39L42 37 50 60 43 62ZM88 33L95 34 103 57 96 58Z" fill="#d6ad57" stroke="#302a29" stroke-width="2.0" /><path d="M45 120L119 114" fill="none" stroke="#7bbf7d" stroke-width="2" /><g transform="translate(80 104) scale(.86)"><path d="M-9 3L-13-5-5-2 0-8 5-2 13-5 9 3 0 8Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.5" /></g><path d="M25.0,21.0 26.7,27.3 33.0,29.0 26.7,30.7 25.0,37.0 23.3,30.7 17.0,29.0 23.3,27.3Z" fill="#d6ad57" stroke="none" stroke-width="2.0" /><path d="M119.0,42.0 120.5,47.5 126.0,49.0 120.5,50.5 119.0,56.0 117.5,50.5 112.0,49.0 117.5,47.5Z" fill="#d6ad57" stroke="none" stroke-width="2.0" /></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#28724d" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Treasure</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Troll token">
|
||||||
|
<title>Troll</title><desc>Troll illustrated in shaded ink on parchment.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#788653" stop-opacity=".2"/><stop offset="1" stop-color="#788653" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M23 120L27 96 43 82 41 61 29 46 47 49Q48 29 73 28Q98 29 100 48L117 44 103 63 103 86 123 102 125 120Z" fill="#788653" stroke="#302a29" stroke-width="2.0" /><path d="M26 109L49 101 53 119M101 90L91 112 114 119Z" fill="#4a5a3e" stroke="none" stroke-width="2.0" /><path d="M44 44L44 27Q69 18 97 28L97 43Z" fill="#60527e" stroke="#302a29" stroke-width="2.0" /><path d="M43 37L98 37" fill="none" stroke="#a294c3" stroke-width="4" /><path d="M46 57Q55 48 66 57M80 55Q89 47 100 54" fill="none" stroke="#302a29" stroke-width="5" /><ellipse cx="59" cy="61" rx="6" ry="4" fill="#f8edcf" stroke="none" stroke-width="2"/><ellipse cx="88" cy="59" rx="5" ry="3" fill="#f8edcf" stroke="none" stroke-width="2"/><ellipse cx="61" cy="61" rx="2" ry="3" fill="#302a29" stroke="none" stroke-width="2"/><ellipse cx="87" cy="59" rx="1.6" ry="2.5" fill="#302a29" stroke="none" stroke-width="2"/><path d="M70 58Q66 67 60 72Q56 81 69 83Q86 85 84 76L77 61Z" fill="#a4ab6b" stroke="#302a29" stroke-width="2.0" /><path d="M48 82Q72 99 99 80L94 98Q73 114 51 97Z" fill="#443c34" stroke="#302a29" stroke-width="2.0" /><path d="M54 88L57 77 63 92M84 93L91 78 93 88Z" fill="#f8edcf" stroke="#302a29" stroke-width="2.0" /><path d="M61 106Q72 112 84 104" fill="none" stroke="#adbb7c" stroke-width="3" /><path d="M35 100L31 109M41 103L37 113M102 102L106 110" fill="none" stroke="#302a29" stroke-width="1.1" opacity=".45"/></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#788653" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Troll</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Wizard token">
|
||||||
|
<title>Wizard</title><desc>Dark-skinned woman with silver curls and a green winged helmet.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#28724d" stop-opacity=".2"/><stop offset="1" stop-color="#28724d" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M17 121Q21 96 49 85L92 85Q120 98 128 121Z" fill="#28724d" stroke="#302a29" stroke-width="2.0" /><path d="M17 121L42 102 59 121M98 94L87 121H128Z" fill="#143f35" stroke="none" stroke-width="2.0" /><path d="M48 87L71 108 96 87 89 121H56Z" fill="#7bbf7d" stroke="#302a29" stroke-width="2.0" /><path d="M49 89L71 106 95 89" fill="none" stroke="#d6ad57" stroke-width="3" /><path d="M47 48Q38 52 43 63Q35 67 43 76Q38 85 49 90Q45 101 59 104L66 93 84 95Q98 102 101 90Q110 86 103 76Q110 66 101 61L94 44Z" fill="#d5d1bd" stroke="#302a29" stroke-width="2.0" /><path d="M44 70Q51 64 53 72M46 83Q51 76 56 83M94 76Q99 70 102 77M91 91Q98 86 100 92" fill="none" stroke="#8e9287" stroke-width="1.8" /><path d="M53 49Q55 33 74 32Q93 35 94 52L89 75Q82 91 72 94Q59 89 53 73Z" fill="#815039" stroke="#302a29" stroke-width="2.0" /><path d="M83 43Q98 57 83 79L73 90 83 88 92 75 95 53Z" fill="#60392f" stroke="none" stroke-width="2.0" /><path d="M57 54Q64 50 69 54M79 54Q86 49 91 53" fill="none" stroke="#302a29" stroke-width="2.2" /><path d="M56 60Q62 54 68 59Q63 64 56 60ZM79 59Q85 53 91 58Q86 64 79 59Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.2" /><ellipse cx="64" cy="59" rx="1.8" ry="2.6" fill="#302a29" stroke="none" stroke-width="2"/><ellipse cx="85" cy="58" rx="1.8" ry="2.6" fill="#302a29" stroke="none" stroke-width="2"/><path d="M73 58L70 68Q65 75 73 75L79 72" fill="none" stroke="#302a29" stroke-width="1.5" /><path d="M64 81Q74 77 83 79Q75 88 67 84Z" fill="#a75e57" stroke="#302a29" stroke-width="1.3" /><path d="M51 50L44 36 54 24 74 19 93 28 98 45 87 49 74 39Z" fill="#28724d" stroke="#302a29" stroke-width="2.0" /><path d="M51 39L29 33 18 17 46 25 57 37M91 37L111 31 125 15 97 24 86 36Z" fill="#7bbf7d" stroke="#302a29" stroke-width="2.0" /><path d="M26 24L44 30M32 31L47 35M101 29L116 22M95 35L110 30" fill="none" stroke="#f8edcf" stroke-width="2" /><path d="M53 45L65 43 73 49 82 42 95 45 90 53 80 50 73 58 66 51 56 54Z" fill="#143f35" stroke="#302a29" stroke-width="2.0" /><circle cx="52" cy="76" r="3" fill="#d6ad57" stroke="#302a29" stroke-width="2"/><circle cx="93" cy="75" r="3" fill="#d6ad57" stroke="#302a29" stroke-width="2"/><g transform="translate(72 117) scale(.58)"><path d="M-9 3L-13-5-5-2 0-8 5-2 13-5 9 3 0 8Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.5" /></g></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#28724d" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Wizard</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Wizard token">
|
||||||
|
<title>Wizard</title><desc>Brown-skinned man with a short dark beard and red tiger hood.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#b83f35" stop-opacity=".2"/><stop offset="1" stop-color="#b83f35" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M17 121Q21 96 49 85L92 85Q120 98 128 121Z" fill="#b83f35" stroke="#302a29" stroke-width="2.0" /><path d="M17 121L42 102 59 121M98 94L87 121H128Z" fill="#622a2c" stroke="none" stroke-width="2.0" /><path d="M48 87L71 108 96 87 89 121H56Z" fill="#ee9160" stroke="#302a29" stroke-width="2.0" /><path d="M49 89L71 106 95 89" fill="none" stroke="#d6ad57" stroke-width="3" /><path d="M46 43L47 76 59 91 89 84 101 58 93 33Z" fill="#34292a" stroke="#302a29" stroke-width="2.0" /><path d="M51 49Q50 32 73 30Q95 31 97 52L93 78 80 94 63 91 52 76Z" fill="#ad714b" stroke="#302a29" stroke-width="2.0" /><path d="M83 43Q98 57 83 79L73 90 83 88 92 75 95 53Z" fill="#814b37" stroke="none" stroke-width="2.0" /><path d="M56 53L68 55M80 53L91 51" fill="none" stroke="#302a29" stroke-width="2.2" /><path d="M56 60Q62 54 68 59Q63 64 56 60ZM79 59Q85 53 91 58Q86 64 79 59Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.2" /><ellipse cx="64" cy="59" rx="1.8" ry="2.6" fill="#302a29" stroke="none" stroke-width="2"/><ellipse cx="85" cy="58" rx="1.8" ry="2.6" fill="#302a29" stroke="none" stroke-width="2"/><path d="M74 57L71 67Q63 73 70 76Q76 78 81 73" fill="none" stroke="#302a29" stroke-width="1.5" /><path d="M63 82Q74 87 85 79" fill="none" stroke="#302a29" stroke-width="1.3" /><path d="M48 74L39 46 42 25 53 29Q70 16 87 28L101 24 103 44 95 77 89 54 80 42 61 42 53 55Z" fill="#b83f35" stroke="#302a29" stroke-width="2.0" /><path d="M44 29L53 34 45 42M91 33L99 29 98 41Z" fill="#d6ad57" stroke="#302a29" stroke-width="2.0" /><path d="M54 34L66 39 56 44M84 33L75 39 88 44M41 48L50 51 45 58M98 48L91 53 95 60" fill="none" stroke="#622a2c" stroke-width="4" /><path d="M61 33L71 29 81 33 73 37Z" fill="#d6ad57" stroke="#302a29" stroke-width="2.0" /><path d="M54 74L62 83Q73 89 86 80L93 73 91 88 83 98 69 99 59 91Z" fill="#34292a" stroke="#302a29" stroke-width="2.0" /><path d="M64 86Q74 91 84 84" fill="none" stroke="#ad714b" stroke-width="2" /><path d="M62 91L66 95M71 92V97M82 90L79 95" fill="none" stroke="#917468" stroke-width="1.1" opacity=".45"/><g transform="translate(72 117) scale(.58)"><path d="M0-10Q9-2 6 5Q0 12-6 5Q-10 0-4-4L-3 2Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.5" /></g></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#b83f35" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Wizard</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 150" role="img" aria-label="Wizard token">
|
||||||
|
<title>Wizard</title><desc>Androgynous tan-skinned wizard with dark hair and a magenta horned crown.</desc>
|
||||||
|
<defs><linearGradient id="paper" x2="0" y2="1"><stop stop-color="#fbf2d9"/><stop offset="1" stop-color="#e8d6ae"/></linearGradient><radialGradient id="halo"><stop stop-color="#ac3876" stop-opacity=".2"/><stop offset="1" stop-color="#ac3876" stop-opacity=".03"/></radialGradient></defs>
|
||||||
|
<rect x="2" y="2" width="140" height="146" rx="9" fill="url(#paper)" stroke="#39302a" stroke-width="2.5"/>
|
||||||
|
<rect x="6" y="6" width="132" height="138" rx="6" fill="none" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<circle cx="72" cy="68" r="52" fill="url(#halo)"/>
|
||||||
|
<g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="72" cy="119" rx="43" ry="5" fill="#725b3d" stroke="none" stroke-width="0" opacity=".18"/><path d="M17 121Q21 96 49 85L92 85Q120 98 128 121Z" fill="#ac3876" stroke="#302a29" stroke-width="2.0" /><path d="M17 121L42 102 59 121M98 94L87 121H128Z" fill="#62264f" stroke="none" stroke-width="2.0" /><path d="M48 87L71 108 96 87 89 121H56Z" fill="#e891b6" stroke="#302a29" stroke-width="2.0" /><path d="M49 89L71 106 95 89" fill="none" stroke="#d6ad57" stroke-width="3" /><path d="M50 37Q72 22 94 39L98 73 91 95 80 88 57 93 48 76Z" fill="#332932" stroke="#302a29" stroke-width="2.0" /><path d="M53 49Q53 31 74 31Q93 33 95 52L90 76 75 93 62 86 53 71Z" fill="#c18b66" stroke="#302a29" stroke-width="2.0" /><path d="M83 43Q98 57 83 79L73 90 83 88 92 75 95 53Z" fill="#945b48" stroke="none" stroke-width="2.0" /><path d="M57 53L69 56M80 55L91 51" fill="none" stroke="#302a29" stroke-width="2.2" /><path d="M56 60Q62 54 68 59Q63 64 56 60ZM79 59Q85 53 91 58Q86 64 79 59Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.2" /><ellipse cx="64" cy="59" rx="1.8" ry="2.6" fill="#302a29" stroke="none" stroke-width="2"/><ellipse cx="85" cy="58" rx="1.8" ry="2.6" fill="#302a29" stroke="none" stroke-width="2"/><path d="M74 59L71 70 77 72" fill="none" stroke="#302a29" stroke-width="1.5" /><path d="M65 81Q75 84 83 79" fill="none" stroke="#302a29" stroke-width="1.3" /><path d="M50 54Q46 39 52 28Q44 27 35 13Q30 41 48 50L53 59 63 48 75 53 84 46 94 57 97 49Q114 35 109 13Q101 28 92 28Q99 42 93 47L80 38 74 46 64 38Z" fill="#ac3876" stroke="#302a29" stroke-width="2.0" /><path d="M49 40Q35 31 35 13M96 40Q108 29 109 13" fill="none" stroke="#e891b6" stroke-width="4" /><path d="M70 32L75 27 80 32 75 40Z" fill="#d6ad57" stroke="#302a29" stroke-width="2.0" /><path d="M49 63L51 79 59 84M96 61L94 80 86 88" fill="none" stroke="#e891b6" stroke-width="3" /><path d="M58 43L61 47 66 42M55 76L56 88 62 94" fill="none" stroke="#332932" stroke-width="3" /><g transform="translate(72 117) scale(.58)"><path d="M-10-8Q-9 8 0 8Q9 8 10-8L4-3 0-7-4-3Z" fill="#f8edcf" stroke="#302a29" stroke-width="1.5" /></g></g>
|
||||||
|
<path d="M16 130H128" stroke="#b49b70" stroke-width=".8"/>
|
||||||
|
<path d="M12 12h7m-7 0v7m120-7h-7m7 0v7" fill="none" stroke="#ac3876" stroke-width="2"/>
|
||||||
|
<text x="72" y="141" text-anchor="middle" font-family="Georgia,serif" font-size="10.5" font-weight="700" fill="#39302a">Wizard</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.1 KiB |