:root {
    --border-color: black;
    --background-color: #edf;
    --sidebar-color: rgba(0,0,0,0.2);
    --shadow-color: rgba(0,0,0,0.5);
}

@media (prefers-color-scheme: dark) {
    :root {
        --border-color: white;
        --background-color: #012;
        --sidebar-color: rgba(255,255,255,0.3);
        --shadow-color: rgba(255,255,255,0.5);
    }
}

body {
    background: var(--background-color);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    margin: 0;
    padding: 0;
}

h1 {
    text-align: center;
    font-size: 250%;
    padding: 24px;
    background: white;
    margin-top: 0;
    border-bottom: solid var(--border-color) 1px;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
    box-sizing: border-box;
}
h1 span {
    background-size: 1em 1em;
    padding-left: 1.2em;
    background-repeat: no-repeat;
    height: 1em;
    font-weight: normal;
    /*  */ background-image: url("/static/_img/5d/3674/favicon-big_b02f72adc7.png"); /*  */
}

#links {
    float: right;
    margin: 0 0 0 1ex;
    padding: 8px 4px;
    text-align: left;
    vertical-align: top;
    text-orientation: upright;
    background: var(--sidebar-color);
    border: solid var(--border-color) 1px;
    border-right: none;
    /*max-height: 80vh;*/
    overflow-x: hidden;
    /*overflow-y: auto;*/
    scrollbar-gutter: stable both-edges;
}

a:link {
    color: #009;
}

a:visited {
    color: #709;
}

a:hover {
    color: #900;
}

#links a {
    display: block;
    width: 64px;
    height: 64px;
    background-size: 48px 48px;
    background-position: 50% 50%;
    margin: -8px;
    /*padding: 2px;*/
    background-repeat: no-repeat;
    background-position: 50% 50%;

    transition: background-color 0.25s ease,
        filter 0.25s ease,
        background-size 0.25s ease,
        z-index 0.25s ease
}

#content {
    clear: left;
    margin-bottom: 2em;
}

#links a span {
    display: none;
}

/*  */
#links .bluesky {
    /* */ background-image: url("/_file/5f7a3/c/bluesky.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .etsy {
    /* */ background-image: url("/static/_img/b7/fcf1/etsy_5586cc58cd_64x64.png");background-image: image-set(url("/static/_img/b7/fcf1/etsy_5586cc58cd_64x64.png") 1x, url("/static/_img/b7/fcf1/etsy_5586cc58cd_128x128.png") 2x); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .printables {
    /* */ background-image: url("/_file/a1b9c/9/printables.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .instagram {
    /* */ background-image: url("/_file/af909/instagram.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .youtube {
    /* */ background-image: url("/_file/71ae6/youtube.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .patreon {
    /* */ background-image: url("/_file/6da57/patreon.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .cohost {
    /* */ background-image: url("/_file/a624b/cohost.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .ko-fi {
    /* */ background-image: url("/_file/aa8f4/ko-fi.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .github {
    /* */ background-image: url("/_file/0e616/github.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .discord {
    /* */ background-image: url("/_file/c224c/discord.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .mastodon {
    /* */ background-image: url("/_file/09167/mastodon.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .rss {
    /* */ background-image: url("/_file/23d37/rss.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .gumroad {
    /* */ background-image: url("/static/_img/58/f204/gumroad_368805e123_64x64.png");background-image: image-set(url("/static/_img/58/f204/gumroad_368805e123_64x64.png") 1x, url("/static/_img/58/f204/gumroad_368805e123_128x128.png") 2x); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .bandcamp {
    /* */ background-image: url("/_file/a595e/bandcamp.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */
#links .twitch {
    /* */ background-image: url("/_file/c0ce4/twitch.svg"); /* */
    filter: drop-shadow(0 0 0px rgba(255,255,255,0));
    position: relative;
    z-index: 0;
}
/*  */

#links a:hover {
    filter: drop-shadow(0 0 2px rgba(255,255,255,1));
    background-size: 64px 64px;
    z-index: 1000;
}

#latest {
    background: white;
    border: solid var(--border-color) 2px;
    font-size: small;
    box-shadow: 6px 6px 12px rgba(0,0,0,0.3);
    box-sizing: border-box;
    grid-column: span 2;

    transition: border 0.25s ease,
        box-shadow 0.25s ease;

    display: flex;
    flex-direction: column;
}

#latest .entries {
    flex-grow: 1;
}

#latest:hover {
    border: solid #700 2px;
    box-shadow: 6px 6px 12px rgba(0,0,0,0.5);
}

#latest h2 {
    font-size: medium;
    margin: 0;
    padding: 0.25ex 12px 0;
    background: #ccc;
    color: black;
}

#latest h2 a:first-child {
    text-decoration: none;
    color: black;
}

#latest #siteinfo {
    font-size: x-small;
    list-style-type: none;
    border-top: dotted #ccc 1px;
}

#latest #siteinfo li {
    display: inline;
    margin: 0;
    text-indent: 0;
}

#latest #siteinfo li:before {
    content: ' | ';
}

#latest #siteinfo li:first-child:before {
    content: '';
}

#latest ul {
    list-style-type: none;
    padding: 0 12px;
    margin: 1ex 0;
}

#latest li {
    text-indent: -1em;
    margin-left: 1em;
}

#latest .login {
    font-size: x-small;
    font-style: italic;
}

#latest .login::before {
    content: '[';;
}
#latest .login::after {
    content: ']';;
}

#latest .posted {
    font-size: x-small;
    white-space: nowrap;
}
#latest .posted::before { content: '('; }
#latest .posted::after { content: ')'; }

#content >ul {
    container-type: inline-size;
    list-style-type: none;
    display: grid;
    margin: 0;
    padding: 0 0 0 4px;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    grid-template-rows: repeat(auto-fill, 180px);
    grid-row-gap: 8px;
    grid-column-gap: 8px;
}

#content li.category {
    display: inline-block;

    margin: 0;
    padding: 0;

    grid-column: span 1;
    height: 180px;

    background: white;
    border: solid var(--border-color) 2px;
    color: black;
    font-size: 130%;
    font-weight: bold;

    background-size: cover;
    background-position: 50% 50%;
    filter: grayscale(30%);
    background-repeat: no-repeat;

    box-sizing: border-box;

    transition: background-size 0.25s ease,
        border-color 0.25s ease,
        border-color 0.25s ease,
        filter 0.25s ease,
        box-shadow 0.25s ease,
        border-width 0.25s ease;
}

#content li.category:hover {
    border-color: #700;
    filter: grayscale(0%);
    box-shadow: 6px 6px 12px var(--shadow-color);
}

#content li.category a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: black;
    text-shadow: 1px 0 0 white,
        0 1px 0 white,
        -1px 0 0 white,
        0 -1px 0 white;
}

#content li.category a span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 4px 1em 4px 1ex;
    border-bottom-right-radius: 1em;
    background: rgba(255,255,255,0.75);
    box-shadow: 2px 2px 2px var(--shadow-color);
    border: solid rgba(0,0,0,.5) 1px;
    border-style: none solid solid none;
    text-align: left;
    transition: border-color 0.25s ease,
        border-width 0.25s ease,
        background-color 0.25s ease;
}



#content li.category a:hover {
    color: #009;
}

#content li.category a:hover div {
    background: rgba(0,0,0,0.75);
}

#content li.category a:hover span {
    border: solid rgba(63,0,0,.5) 1px;
    border-style: none solid solid none;
    background-color: #ffc;
}


/*  */
#content li.cat_blog  {
    /* */ background-image: url("/static/_img/53/143d/cat-blog_79da196703_240x180.jpg");background-image: image-set(url("/static/_img/53/143d/cat-blog_79da196703_240x180.jpg") 1x, url("/static/_img/53/143d/cat-blog_79da196703_480x360.jpg") 2x); /* */
}
/*  */
#content li.cat_art  {
    /* */ background-image: url("/static/_img/9c/8cb1/cat-art_7b31294089_240x160.jpg");background-image: image-set(url("/static/_img/9c/8cb1/cat-art_7b31294089_240x160.jpg") 1x, url("/static/_img/9c/8cb1/cat-art_7b31294089_480x320.jpg") 2x); /* */
}
/*  */
#content li.cat_code  {
    /* */ background-image: url("/static/_img/0b/7b4b/cat-code_89c8ef6608_240x260.jpg");background-image: image-set(url("/static/_img/0b/7b4b/cat-code_89c8ef6608_240x260.jpg") 1x, url("/static/_img/0b/7b4b/cat-code_89c8ef6608_480x520.jpg") 2x); /* */
}
/*  */
#content li.cat_comics  {
    /* */ background-image: url("/static/_img/36/f743/cat-comics_c7a959dd65_240x360.jpg");background-image: image-set(url("/static/_img/36/f743/cat-comics_c7a959dd65_240x360.jpg") 1x, url("/static/_img/36/f743/cat-comics_c7a959dd65_480x720.jpg") 2x); /* */
}
/*  */
#content li.cat_food  {
    /* */ background-image: url("/static/_img/67/53af/cat-food_adb02c473c_240x210.jpg");background-image: image-set(url("/static/_img/67/53af/cat-food_adb02c473c_240x210.jpg") 1x, url("/static/_img/67/53af/cat-food_adb02c473c_480x419.jpg") 2x); /* */
}
/*  */
#content li.cat_games  {
    /* */ background-image: url("/static/_img/ef/0bc8/cat-games_efb022a590_240x160.jpg");background-image: image-set(url("/static/_img/ef/0bc8/cat-games_efb022a590_240x160.jpg") 1x, url("/static/_img/ef/0bc8/cat-games_efb022a590_480x320.jpg") 2x); /* */
}
/*  */
#content li.cat_articles  {
    /* */ background-image: url("/static/_img/75/3c3d/cat-articles_bbb95d1a28_240x180.jpg");background-image: image-set(url("/static/_img/75/3c3d/cat-articles_bbb95d1a28_240x180.jpg") 1x, url("/static/_img/75/3c3d/cat-articles_bbb95d1a28_480x360.jpg") 2x); /* */
}
/*  */
#content li.cat_music  {
    /* */ background-image: url("/static/_img/23/6398/cat-music_848fac7f71_240x240.jpg");background-image: image-set(url("/static/_img/23/6398/cat-music_848fac7f71_240x240.jpg") 1x, url("/static/_img/23/6398/cat-music_848fac7f71_480x480.jpg") 2x); /* */
}
/*  */
#content li.cat_vrchat  {
    /* */ background-image: url("/static/_img/dc/5a77/cat-vrchat_d6213a6712_240x175.jpg");background-image: image-set(url("/static/_img/dc/5a77/cat-vrchat_d6213a6712_240x175.jpg") 1x, url("/static/_img/dc/5a77/cat-vrchat_d6213a6712_480x350.jpg") 2x); /* */
}
/*  */
#content li.cat_writing  {
    /* */ background-image: url("/static/_img/cb/24a1/cat-writing_61af4e3851_240x180.jpg");background-image: image-set(url("/static/_img/cb/24a1/cat-writing_61af4e3851_240x180.jpg") 1x, url("/static/_img/cb/24a1/cat-writing_61af4e3851_480x360.jpg") 2x); /* */
}
/*  */

#content li.store {
    /* */ background-image: url("/static/_img/5e/baa6/cat-store_344352cb10_240x180_q95.jpg");background-image: image-set(url("/static/_img/5e/baa6/cat-store_344352cb10_240x180_q95.jpg") 1x, url("/static/_img/5e/baa6/cat-store_344352cb10_480x360_q95.jpg") 2x); /* */
}

#content li.cat_comics {
    grid-row: span 2;
    padding-bottom: 4px;
    height: 100%;
    min-height: 180px;
}

/* when the screen gets too narrow for multiple columns */
@container (max-width: 488px) {
    #content {
        grid-template-columns: 100%;
        padding-right: 8px;
    }
    #latest {
        grid-column: span 1;
    }
    li.cat_comics {
        grid-row: span 1;
        height: 180px;
        background-size: 100% auto;
    }
    li.cat_comics:hover {
        background-size: 120% auto;
    }
}


@media screen and (max-width: 700px) {
    h1 {
        margin: 0;
        padding: 16px 1em 16px 16px;
    }
    #links {
        float: none;
        writing-mode: horizontal-tb;
        text-align: center;
        padding: 8px 4px;
        margin: 0 0 1em;
        border: none;
        vertical-align: top;
        margin: 0;
        overflow-y: auto;
    }

    #links a {
        clear: left;
        width: 48px;
        height: 48px;
        background-size: 32px 32px;
        display: inline-block;
    }

    #links a:hover {
        background-size: 48px 48px;
    }

    #content {
        margin: 0;
        margin-top: 1em;
        clear: both;
        padding-right: 8px;
    }
}

.hidden { display: none; }

#webring {
    position: fixed;
    bottom: 0;
    right: 0;
    margin: 1em;
}
#webring span {
    vertical-align: middle;
    display: inline-block;
    background: rgba(255,255,255,.75);
    border: solid black 1px;
    box-shadow: 3px 3px 6px var(--shadow-color);
    padding: 1px 2px;
}

#webring a {
    background: black;
    color: white;
    border-radius: 50%;
    border: solid black 1px;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 3px 3px 6px var(--shadow-color);
}
#webring a:hover {
    background: yellow;
    color: #007;
}

.inset-right { float: right; }
.inset-left { float: left; }
