2026-02-20 11:57:19 -08:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > home | hello hello< / title >
< meta name = "description" content = "Lee Cattarin... on the internet!" >
< link rel = "alternate" href = "/feed.xml" type = "application/atom+xml" title = "hello hello" >
< meta property = "og:title" content = "home" >
< meta property = "og:type" content = "website" >
< meta property = "og:description" content = "Lee Cattarin... on the internet!" >
< meta property = "og:site_name" content = "hello hello" >
< meta name = "generator" content = "Eleventy v3.1.2" >
< link rel = "preconnect" href = "https://fonts.googleapis.com" >
< link rel = "preconnect" href = "https://fonts.gstatic.com" crossorigin = "" >
< link href = "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Mono:ital,wght@0,200..800;1,200..800&family=Atkinson+Hyperlegible+Next:ital,wght@0,200..800;1,200..800&display=swap" rel = "stylesheet" >
< script src = "https://kit.fontawesome.com/884dded219.js" crossorigin = "anonymous" > < / script >
< style > # p o s t l i s t ,
2026-02-19 21:12:12 -08:00
#taglist {
list-style: none;
}
#postlist, .post,
#taglist, .tag {
margin: 0;
}
/* Odd-numbered posts & tag layout/coloration */
.post:nth-child(odd) .postlink,
.tag:nth-child(odd) .taglink {
grid-template-areas:
'img h2'
'img info'
'img .';
grid-template-columns: 45% auto;;
--color-primary: var(--color-teal);
--color-accent: var(--color-pink);
}
/* Even-numbered posts & tags layout/coloration */
.post:nth-child(even) .postlink,
.tag:nth-child(even) .taglink {
grid-template-areas:
'h2 img'
'info img'
'. img';
grid-template-columns: auto 45%;
--color-primary: var(--color-pink);
--color-accent: var(--color-teal);
}
/* Layout for all posts on mobile */
@media (max-width: 650px) {
.post:nth-child(n) .postlink,
.tag:nth-child(n) .taglink {
grid-template-areas:
'img'
'h2'
'info';
grid-template-columns: auto;
}
}
/* Link */
.postlink,
.taglink {
display: grid;
border: .25rem solid var(--color-primary);
border-radius: 1.25rem;
box-shadow: .35rem .35rem var(--color-shadow);
margin: 2rem 0;
text-decoration: none;
/* Click animation handling */
position: relative;
top: 0;
left: 0;
transition: top .05s ease-in, left .05s ease-in;
}
.postlink:focus-visible,
.taglink:focus-visible {
background-color: var(--color-primary);
outline: none;
}
@media (any-hover: hover) {
.postlink:hover,
.taglink:hover {
background-color: var(--color-primary);
}
}
/* Forced colors */
@media (forced-colors: active) {
.postlink:focus-visible,
.taglink:focus-visible {
outline-offset: .25rem;
outline: .25rem solid;
}
@media (any-hover: hover) {
.postlink:hover,
.taglink:hover {
outline-offset: .25rem;
outline: .25rem solid;
}
}
}
/* Click animation */
.postlink:active,
.taglink:active {
box-shadow: none;
top: .2rem;
left: .2rem;
box-shadow: .15rem .15rem var(--color-shadow);
}
/* Post & tag elements */
.post h2, .post img,
.post ul, .post li,
.tag h2, .tag p,
.tag img {
margin: 0;
}
.post h2,
.tag h2 {
grid-area: h2;
padding: .25rem .5rem;
text-transform: uppercase;
font-size: 1.5rem;
color: var(--color-primary);
border-radius: 1rem 1rem 0 0;
border-bottom: .25rem solid var(--color-accent);
}
.post:nth-child(even) h2,
.tag:nth-child(even) h2 {
text-align: right;
}
.postlink:focus-visible h2,
.taglink:focus-visible h2 {
color: var(--color-bg);
border-color: var(--color-bg);
}
@media (any-hover: hover) {
.postlink:hover h2,
.taglink:hover h2 {
color: var(--color-bg);
border-color: var(--color-bg);
}
}
/* Images */
.post img,
.tag-imgs {
grid-area: img;
}
.tag-imgs {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: .15rem;
}
.tag-imgs img {
aspect-ratio: 3 / 2;
object-fit: cover;
}
.missing-image {
width: 100%;
aspect-ratio: 3 / 2;
background-color: var(--color-bg-alt);
border-radius: calc(1rem);
}
.taglink:focus-visible .missing-image {
opacity: .7;
}
@media (any-hover: hover) {
.taglink:hover .missing-image {
opacity: .7;
}
}
/* Post tags */
.postlist-tags {
grid-area: info;
list-style: none;
display: flex;
flex-flow: row wrap;
gap: .5rem;
padding: .5rem;
}
.post:nth-child(odd) .postlist-tags {
justify-content: flex-end;
}
.postlist-tags li,
.tagcount {
background-color: var(--color-primary);
color: var(--color-bg);
padding: 0 .5rem;
border-radius: 1rem;
}
.postlink:focus-visible .postlist-tags li,
.taglink:focus-visible .tagcount {
background-color: var(--color-bg);
color: var(--color-primary);
}
@media (any-hover: hover) {
.postlink:hover .postlist-tags li,
.taglink:hover .tagcount {
background-color: var(--color-bg);
color: var(--color-primary);
}
}
/* Tag count */
.tag p {
grid-area: info;
padding: .5rem;
}
.tag:nth-child(odd) p {
text-align: right;
}
:root {
color-scheme: light dark;
--font-family: 'Atkinson Hyperlegible Next', sans-serif;
--font-family-code: 'Atkinson Hyperlegible Mono', monospace;
--color-dark: #2e303e;
--color-dark-alt: #3c3f52;
--color-light: #ebeeef;
--color-light-alt: #dbe1e3;
--color-teal-dark: #18737b;
--color-teal-light: #25b0bc;
--color-pink-dark: #94195d;
--color-pink-light: #ee9fcb;
--color-shadow: rgba(2, 10, 40, .25);
/* Used for syntax highlighting */
2026-02-20 12:24:10 -08:00
--color-red-light: #f195aa;
2026-02-19 21:12:12 -08:00
--color-orange-light: #fab795;
--color-yellow-light: #fbe6bc;
--color-green-light: #29d398;
--color-blue-light: #26bbd9;
--color-purple-light: #ddaeea;
--color-grey-light: #b9c3c6;
--color-red-dark: #991433;
--color-orange-dark: #883206;
--color-yellow-dark: #6a4906;
--color-green-dark: #125940;
--color-blue-dark: #125663;
--color-purple-dark: #722999;
--color-grey-dark: #4a4b64;
--color-text: light-dark(var(--color-dark), var(--color-light));
--color-bg: light-dark(var(--color-light), var(--color-dark));
--color-text-alt: light-dark(var(--color-dark-alt), var(--color-light-alt));
--color-bg-alt: light-dark(var(--color-light-alt), var(--color-dark-alt));
--color-teal: light-dark(var(--color-teal-dark), var(--color-teal-light));
--color-pink: light-dark(var(--color-pink-dark), var(--color-pink-light));
--color-red: light-dark(var(--color-red-dark), var(--color-red-light));
--color-orange: light-dark(var(--color-orange-dark), var(--color-orange-light));
--color-yellow: light-dark(var(--color-yellow-dark), var(--color-yellow-light));
--color-green: light-dark(var(--color-green-dark), var(--color-green-light));
--color-blue: light-dark(var(--color-blue-dark), var(--color-blue-light));
--color-purple: light-dark(var(--color-purple-dark), var(--color-purple-light));
--color-grey: light-dark(var(--color-grey-dark), var(--color-grey-light));
}
/* Base */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: var(--font-family);
color: var(--color-text);
background-color: var(--color-bg);
}
main {
width: 60vw;
max-width: 1000px;
margin: 0 auto;
2026-02-20 08:36:56 -08:00
scroll-margin-top: 7rem;
2026-02-19 21:12:12 -08:00
}
@media (max-width: 1050px) {
main {
width: 75vw;
}
}
@media (max-width: 650px) {
main {
width: 92vw;
}
}
/* Headers */
h1, h2, h3, h4, h5, h6 {
line-height: 1.25;
color: var(--color-teal);
}
h1 {
margin-top: 3rem;
font-size: 3.5rem;
text-align: center;
}
2026-02-20 08:36:56 -08:00
h2, h3, h4, h5, h6 {
scroll-margin-top: 5rem;
}
2026-02-19 21:12:12 -08:00
h2 {
margin-top: 2rem;
font-size: 2.2rem;
}
h3 {
margin-top: 1.5rem;
font-size: 1.6rem;
}
@media (max-width: 650px) {
h1 { font-size: 2.8rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.35rem; }
}
h4, h5, h6 {
margin-top: 1rem;
font-size: 1.2rem;
}
/* Images */
img {
display: block;
max-width: 100%;
height: auto;
border-radius: 1rem;
}
/* Paragraphs */
p {
margin: 1.25rem 0;
line-height: 1.4;
}
strong,
b {
font-weight: 900;
}
/* Links */
a {
color: var(--color-text);
border-radius: .25rem;
text-decoration: underline;
text-decoration-style: solid;
text-decoration-thickness: .2em;
text-decoration-color: var(--color-teal);
transition: text-decoration-thickness .5s;
}
a:focus-visible {
text-decoration: none;
outline: .15rem solid var(--color-teal);
}
@media (any-hover: hover) {
a:hover {
text-decoration-thickness: .4em;
}
}
a:active {
text-decoration-thickness: .4em;
}
/* Heading anchors */
a.ha,
span.ha-placeholder {
color: var(--color-pink);
}
span.ha-placeholder {
2026-02-20 12:24:10 -08:00
opacity: .55;
2026-02-19 21:12:12 -08:00
}
/* Lists */
::marker {
color: var(--color-pink);
}
ul, ol, dl, li {
margin-left: 1rem;
}
li {
line-height: 1.2 5;
margin-top: .65rem;
margin-bottom: .65rem;
}
li ul, li ol {
margin: .5rem 0;
}
dt {
font-weight: 900;
margin-top: .5rem;
}
dd {
margin-left: 2rem;
margin-bottom: .75rem;
}
/* Blockquotes */
blockquote {
margin: .5rem 0;
padding: 0 1rem;
border-radius: .25rem 1rem 1rem .25rem;
line-height: 1.25;
border-left: .5rem solid var(--color-pink);
}
blockquote,
blockquote p,
blockquote ol,
blockquote ul {
background-color: var(--color-bg-alt);
padding: .5rem;
}
blockquote p {
margin: 0;
}
/* Tables */
table {
width: 100%;
border-spacing: 0; /* border collapse doesn't play nice with radii */
border-radius: .3rem;
border: thin solid var(--color-pink);
}
th {
color: var(--color-bg);
background-color: var(--color-pink);
}
th code {
color: var(--color-text); /* Yes, I actually do this somewhere */
}
th, td {
padding: .5rem;
text-align: left;
}
tr:nth-child(even) { background-color: var(--color-bg-alt); }
th:not(:first-child) { border-left: thin solid var(--color-bg); }
th:first-child { border-top-left-radius: .25rem; }
th:last-child { border-top-right-radius: .25rem; }
td:not(:first-child) { border-left: thin solid var(--color-pink); }
/* Times */
time {
color: var(--color-grey);
}
/* Horizontal rules */
hr {
2026-02-20 08:36:56 -08:00
border: .25rem solid var(--color-pink);
2026-02-19 21:12:12 -08:00
margin: 2rem 0;
}
/* Used on home, reference, gallery pages */
.centered {
text-align: center;
}
/* Currently only used for resume, but it's generalizable */
.upper {
text-transform: uppercase;
}
/* Header */
header {
position: sticky;
top: 0;
background-color: var(--color-bg);
padding: .75rem 0;
z-index: 10;
2026-02-20 08:46:50 -08:00
border-bottom: thick solid var(--color-teal);
2026-02-20 08:36:56 -08:00
box-shadow: 0 .25rem .15rem var(--color-shadow);
2026-02-19 21:12:12 -08:00
}
/* Header links, pagination links */
header a,
.pagination a,
.webring ul a {
border-radius: 1rem;
border: .125rem solid var(--color-pink);
color: var(--color-pink);
text-decoration: none;
padding: 0 .25rem;
box-shadow: .15rem .15rem var(--color-shadow);
font-size: 1.2rem;
/* Click animation handling */
position: relative;
top: 0;
left: 0;
transition: top .05s ease-in, left .05s ease-in;
}
header a,
.pagination .older a,
.webring .prev a,
.webring .rand a {
padding-right: .35rem;
}
.pagination .newer a,
.webring .next a,
.webring .rand a {
padding-left: .35rem;
}
header a:focus-visible,
.pagination a:focus-visible,
.webring ul a:focus-visible {
color: var(--color-bg);
border-color: var(--color-pink);
background-color: var(--color-pink);
outline: none;
}
@media (any-hover: hover) {
header a:hover,
.pagination a:hover,
.webring ul a:hover {
color: var(--color-bg);
border-color: var(--color-pink);
background-color: var(--color-pink);
}
}
@media (forced-colors: active) {
header a:focus-visible,
.pagination a:focus-visible,
.webring ul a:focus-visible {
outline-offset: .125rem;
outline: .125rem solid;
}
@media (any-hover: hover) {
header a:hover,
.pagination a:hover,
.webring ul a:hover {
outline-offset: .125rem;
outline: .125rem solid;
}
}
}
/* Click animation */
header a:active,
.pagination a:active,
.webring ul a:active {
top: .1rem;
left: .1rem;
box-shadow: .05rem .05rem var(--color-shadow);
}
/* Current page */
header a[aria-current="page"] {
border-color: var(--color-teal);
color: var(--color-teal);
}
header a[aria-current="page"]:focus-visible {
color: var(--color-bg);
border-color: var(--color-teal);
background-color: var(--color-teal);
}
@media (any-hover: hover) {
header a[aria-current="page"]:hover {
color: var(--color-bg);
background-color: var(--color-teal);
border-color: var(--color-teal);
}
}
/* Header link icons, pagination icons */
header i,
.pagination i,
.webring ul i {
color: var(--color-teal);
}
header i,
.pagination .older i,
.webring .prev i,
.webring .rand i:nth-child(1) {
padding-left: .25rem;
}
.pagination .newer i,
.webring .next i,
.webring .rand i:nth-child(2) {
padding-right: .25rem;
}
header a[aria-current="page"] i {
color: var(--color-pink);
}
header a:focus-visible i,
a[aria-current="page"] a:focus-visible i,
.pagination a:focus-visible i,
.webring ul a:focus-visible i {
color: var(--color-bg);
}
@media (any-hover: hover) {
header a:hover i,
header a[aria-current="page"]:hover i,
.pagination a:hover i,
.webring ul a:hover i {
color: var(--color-bg);
}
}
/* Skip link */
#skip {
left: -999px;
position: absolute;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
z-index: -99;
}
#skip:focus-visible {
display: inline-block;
left: auto;
top: auto;
width: auto;
height: auto;
overflow: auto;
margin: 0 10%;
z-index: 999;
}
/* Nav */
header ul {
display: flex;
list-style: none;
gap: 1rem;
justify-content: center;
}
header ul,
header li {
margin: 0;
}
@media (max-width: 650px) {
.menu-text {
display: none; /* Icons only on small screens */
}
header a {
padding: .15rem .5rem;
}
header i {
padding: 0;
}
}
/* Footer */
footer {
padding: 1rem 0;
font-size: .9rem;
2026-02-20 08:46:50 -08:00
border-top: thick solid var(--color-pink);
2026-02-19 21:12:12 -08:00
}
footer ul {
display: flex;
list-style: none;
gap: .5rem;
justify-content: center;
margin: 0;
}
footer li {
margin: 0;
}
footer li:nth-child(2)::before,
footer li:nth-child(2)::after {
content: " ● " / "";
color: var(--color-teal);
}
@media (max-width: 650px) {
footer ul {
flex-flow: column;
text-align: center;
}
footer li:nth-child(2)::before,
footer li:nth-child(2)::after {
content: none;
}
}
footer a {
text-decoration-color: var(--color-pink);
}
footer a:focus-visible {
outline-color: var(--color-pink);
}
/* Pagination */
.pagination,
.pagination li {
margin: 0;
}
.pagination {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-areas: "older newer";
list-style: none;
margin-top: 3rem;
}
@media (max-width: 650px) {
.post-pagination {
grid-template-columns: 1fr;
grid-template-areas:
"older"
"newer";
gap: .75rem;
}
}
.pagination .older {
grid-area: older;
}
.pagination .newer {
grid-area: newer;
text-align: right;
}
/* webring navigation */
.webring {
margin-bottom: 3rem;
}
.webring ul {
display: flex;
flex-flow: row wrap;
list-style: none;
justify-content: space-around;
gap: .35rem;
}
.webring ul,
.webring li {
margin-left: 0;
}
@media print {
/* Nav elements */
header,
footer,
nav {
display: none !important;
}
/* Base */
body {
background-color: #fff;
color: #000;
}
main {
width: 95vw;
}
h1,h2,h3,h4,h5,h6 {
color: #000;
}
/* Links */
/* Hover is not really necessary, but it's annoying when testing otherwise */
a,
a:hover {
text-decoration-style: dotted;
text-decoration-thickness: .1rem;
text-decoration-color: #000;
}
a::after{
content: " (" attr(href) ")";
}
/* Code */
code,
pre,
code[class*=language-],
pre[class*=language-] {
text-shadow: none;
background-color: var(--color-light);
color: #000 !important;
}
.token.namespace {
opacity: 1;
}
.token.block-comment,
.token.cdata,
.token.comment,
.token.doctype,
.token.prolog,
.token.punctuation,
.token.attr-name,
.token.deleted,
.token.namespace,
.token.tag,
.token.boolean,
.token.function,
.token.number,
.token.class-name,
.token.constant,
.token.property,
.token.symbol,
.token.attr-value,
.token.char,
.token.regex,
.token.string,
.token.variable,
.token.inserted,
.token.entity,
.token.operator,
.token.url,
.token.function-name,
.token.atrule,
.token.builtin,
.token.important,
.token.keyword,
.token.selector {
color: #000;
}
}< / style >
2026-02-20 11:57:19 -08:00
< script type = "module" > < / script >
< / head >
< body >
< header >
2026-02-19 21:12:12 -08:00
2026-02-20 12:24:10 -08:00
< a href = "#main" id = "skip" title = "skip to main content" >
2026-02-19 21:12:12 -08:00
< i class = "fa-solid fa-forward" aria-hidden = "true" > < / i > skip
< / a >
< nav aria-label = "main navigation" >
< ul >
< li >
2026-02-20 11:57:19 -08:00
< a href = "/reference/" title = "read reference posts" >
2026-02-19 21:12:12 -08:00
< i class = "fa-regular fa-folder-open" aria-hidden = "true" > < / i >
< span class = "menu-text" > reference< / span >
< / a >
< / li >
< li >
2026-02-20 11:57:19 -08:00
< a href = "/gallery/" title = "view the gallery" >
2026-02-19 21:12:12 -08:00
< i class = "fa-regular fa-images" aria-hidden = "true" > < / i >
< span class = "menu-text" > gallery< / span >
< / a >
< / li >
< li >
2026-02-20 11:57:19 -08:00
< a href = "/" title = "" >
2026-02-19 21:12:12 -08:00
< i class = "fa fa-solid fa-crow" aria-hidden = "true" > < / i >
< span class = "menu-text" > home< / span >
< / a >
< / li >
< li >
2026-02-20 11:57:19 -08:00
< a href = "/about/" title = "about Lee" >
2026-02-19 21:12:12 -08:00
< i class = "fa-regular fa-user" aria-hidden = "true" > < / i >
< span class = "menu-text" > about< / span >
< / a >
< / li >
< li >
2026-02-20 11:57:19 -08:00
< a href = "/contact/" title = "contact Lee" >
2026-02-19 21:12:12 -08:00
< i class = "fa-solid fa-envelope-open-text" aria-hidden = "true" > < / i >
< span class = "menu-text" > contact< / span >
< / a >
< / li >
< / ul >
< / nav >
< / header >
2026-02-20 11:57:19 -08:00
< main id = "main" >
2026-02-19 21:12:12 -08:00
< h1 id = "home" > home< / h1 >
< p class = "centered" > (or < a href = "/tags/" > browse by tags< / a > )< / p >
< ol id = "postlist" >
2026-02-19 22:19:39 -08:00
< li class = "post" >
< a class = "postlink" href = "/leather-chest-harness/" >
< img src = "/img/leather-chest-harness.jpg" alt = "Someone from chin to mid-torso, wearing a dark teal leather chest harness with matte black fittings over a t shirt." loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "leather-chest-harness" > leather chest harness< / h2 >
< ul class = "postlist-tags" >
< li > leather< / li >
< / ul >
< / a >
< / li >
2026-02-19 21:12:12 -08:00
< li class = "post" >
< a class = "postlink" href = "/leatherworking-favorites/" >
< img src = "/img/leather-harness-wip.jpg" alt = "two pieces of a chest harness sitting on a messy workbench. both pieces are about 8 inches long total and consist of two large o-rings joined by a dark teal leather strap. the o rings and rivets are matte black." loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "leatherworking-favorites" > leatherworking favorites< / h2 >
< ul class = "postlist-tags" >
< li > leather< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/anarchy-autism/" >
< img src = "/img/anarchy-autism-rainbow-print.jpg" alt = "A print in rainbow ink that says autism with the anarchy A." loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "anarchy-autism" > anarchy autism< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > sticker< / li >
< li > shirt< / li >
< li > pin< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/ecommerce-options/" >
< img src = "/img/loon.jpg" alt = "Image unrelated to post. A loon rearing up with eir wings spread on a calm lake." loading = "lazy" decoding = "async" width = "1000" height = "666" >
< h2 id = "ecommerce-options" > ecommerce options< / h2 >
< ul class = "postlist-tags" >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/rope-one/" >
< img src = "/img/rope-print-1.jpg" alt = "A print of a nude trans woman in an asymmetrical rope harness." loading = "lazy" decoding = "async" width = "1000" height = "1242" >
< h2 id = "rope-one" > rope (one)< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/artisans-cooperative-shirts/" >
< img src = "/img/artisans-coop-shirt.jpg" alt = "A black tank top laid on a desk. In white ink it reads 'Artisans Cooperative' with a print of some chickens and a quail." loading = "lazy" decoding = "async" width = "1000" height = "1333" >
< h2 id = "artisans-cooperative-shirts" > artisans cooperative shirts< / h2 >
< ul class = "postlist-tags" >
< li > shirt< / li >
< li > print< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/shrimp/" >
< img src = "/img/shrimp-print.jpg" alt = "A print of a small shrimp with slender little leggies in orange ink." loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "shrimp" > shrimp< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > card< / li >
< li > sticker< / li >
< li > pin< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/in-the-news/" >
< img src = "/img/shrimp-knitting.jpg" alt = "Picture unrelated to post. Lee, sitting in a chair and seen in profile, looks up and smiles. Ze is holding and working on a partially knit shrimp." loading = "lazy" decoding = "async" width = "1000" height = "666" >
< h2 id = "in-the-news" > in the news< / h2 >
< ul class = "postlist-tags" >
< li > gender< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/girldick/" >
< img src = "/img/girldick-shirt.jpg" alt = "A butch cooking and wearing a cropped tee with blue cap sleeves that reads girldick in blue G.I.Joe font." loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "girldick" > girldick< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > sticker< / li >
< li > shirt< / li >
< li > pin< / li >
< li > gender< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/boypussy/" >
< img src = "/img/boypussy-shirt.jpg" alt = "A butch holding a chainsaw and wearing a tank top that reads boypussy in pink Barbie font." loading = "lazy" decoding = "async" width = "1000" height = "1250" >
< h2 id = "boypussy" > boypussy< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > sticker< / li >
< li > shirt< / li >
< li > pin< / li >
< li > gender< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/queer/" >
< img src = "/img/queer-print.jpg" alt = "A print of the word queer in black ink. The letters are rounded with elongated oval negative space." loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "queer" > queer< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > card< / li >
< li > sticker< / li >
< li > pin< / li >
< li > gender< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/coming-out/" >
< img src = "/img/coming-out-card-print.jpg" alt = "A card and print in the same design - a chick and a broken eggshell, and a simple font reading 'congrats on coming out of your shell'" loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "coming-out" > coming out< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > card< / li >
< li > gender< / li >
< / ul >
< / a >
< / li >
< li class = "post" >
< a class = "postlink" href = "/happy-bihrtday/" >
< img src = "/img/happy-bihrtday-card-print.jpg" alt = "A card and print in the same design - a bouncy, cheery font reading 'happy biHRTday'" loading = "lazy" decoding = "async" width = "1000" height = "750" >
< h2 id = "happy-bihrtday" > happy biHRTday< / h2 >
< ul class = "postlist-tags" >
< li > print< / li >
< li > card< / li >
< li > gender< / li >
< / ul >
< / a >
< / li >
< / ol >
< nav aria-label = "pagination" >
< ol class = "pagination " >
< li class = "older" >
< a href = "/10/" >
< i class = "fa-solid fa-hand-point-left" aria-hidden = "true" > < / i > older
< / a >
< / li >
< li class = "newer" >
< a href = "/8/" >
newer < i class = "fa-solid fa-hand-point-right" aria-hidden = "true" > < / i >
< / a >
< / li >
< / ol >
< / nav >
2026-02-20 11:57:19 -08:00
< / main >
2026-02-19 21:12:12 -08:00
2026-02-20 11:57:19 -08:00
< footer >
2026-02-19 21:12:12 -08:00
< ul >
< li >
2026-02-20 12:24:10 -08:00
< a href = "/colophon/" >
2026-02-19 21:12:12 -08:00
colophon
< / a >
< / li >
< li >
< a href = "/" title = "go home" aria-label = "go home | hello hello from Lee Cattarin in 2026" >
hello hello from Lee Cattarin in 2026< / a >
< / li >
< li >
< a href = "https://heckin.technology/inherentlee/leecat.art" title = "source code" aria-label = "source code" target = "_blank" rel = "external" >
src
< / a >
< / li >
< / ul >
< / footer >
2026-02-20 14:12:22 -08:00
<!-- This page `/9/` was built on 2026 - 02 - 20T22:12:08.965Z -->
2026-02-20 11:57:19 -08:00
< body >
< / body > < / body > < / html >