@font-face {
  font-family: "m5x7";
  src: url("m5x7.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root {
  --pale: #b1e2e7; --mint: #5be4b9; --teal: #10bdc6; --blue: #517cb8;
  --navy: #394072; --violet: #7441ae; --purple: #bb49d7; --soft-pink: #f69dbd;
  --yellow: #d8d272; --orange: #f3ad58; --pink: #e74a9d; --rose: #af517a;
  --night: color-mix(in srgb, var(--navy) 30%, black);
  --frame: color-mix(in srgb, var(--navy) 50%, black);
  --panel: color-mix(in srgb, var(--navy) 70%, black);
  --deep-violet: color-mix(in srgb, var(--violet) 35%, black);
  --deep-rose: color-mix(in srgb, var(--rose) 38%, black);
  --ink: var(--pale);
  --scroll-track: var(--night);
  --scroll-thumb: var(--purple);
  --scroll-edge: var(--mint);
  --pixel: "m5x7", "Courier New", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--scroll-thumb) var(--scroll-track); }
html:has(body.theme-bingo) { --scroll-track: #242424; --scroll-thumb: #d53492; --scroll-edge: #ebdf41; }
html:has(body.theme-wallphase) { --scroll-track: #14182e; --scroll-thumb: #cc2f7b; --scroll-edge: #92e8c0; }
html:has(body.theme-rng) { --scroll-track: #0c0910; --scroll-thumb: #73648a; --scroll-edge: #fa9f42; }
html::-webkit-scrollbar { width: 16px; height: 16px; }
html::-webkit-scrollbar-track { background: var(--scroll-track); border: 2px solid var(--scroll-edge); border-radius: 0; }
html::-webkit-scrollbar-thumb { background: var(--scroll-thumb); border: 3px outset var(--scroll-edge); border-radius: 0; }
html::-webkit-scrollbar-corner { background: var(--scroll-track); }
body {
  margin: 0; padding: 16px 12px 30px; color: var(--ink);
  background: radial-gradient(circle at 3px 3px, var(--navy) 1.5px, transparent 2px) 0 0 / 22px 22px, var(--night);
  font: 17px/1.5 Verdana, Geneva, sans-serif;
}
a { color: var(--mint); }
a:hover { color: var(--orange); }
a:focus-visible { outline: 3px dashed var(--yellow); outline-offset: 3px; }
.skip-link { position: absolute; top: -100px; left: 12px; z-index: 10; padding: 7px 12px; background: var(--mint); color: var(--night); }
.skip-link:focus { top: 10px; }
.site-frame { max-width: 980px; margin: auto; border: 3px solid var(--pale); background: var(--frame); box-shadow: 6px 6px 0 var(--violet); }
.site-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 152px; padding: 12px 24px; background: var(--deep-violet); }
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--ink); text-decoration: none; }
.brand:hover, .brand:visited { color: var(--ink); }
.brand img { flex: none; width: 128px; height: 128px; image-rendering: pixelated; }
.brand-name { display: block; font: 400 46px/1 var(--pixel); text-transform: uppercase; text-shadow: 3px 3px 0 var(--night); }
.brand-name span { color: var(--mint); }
.site-header p { margin: -37px 0 0 140px; color: var(--soft-pink); font: 400 32px/1.1 var(--pixel); }
.header-stamp { justify-self: end; padding: 9px 16px 7px; border: 2px dashed var(--orange); background: var(--panel); color: var(--orange); box-shadow: 4px 4px 0 var(--night); font: 400 46px/1 var(--pixel); transform: rotate(-2deg); white-space: nowrap; }
.palette-strip { height: 8px; background: linear-gradient(to right,
  var(--pale) 0 8.33%, var(--mint) 8.33% 16.66%, var(--teal) 16.66% 25%,
  var(--blue) 25% 33.33%, var(--navy) 33.33% 41.66%, var(--violet) 41.66% 50%,
  var(--purple) 50% 58.33%, var(--soft-pink) 58.33% 66.66%, var(--yellow) 66.66% 75%,
  var(--orange) 75% 83.33%, var(--pink) 83.33% 91.66%, var(--rose) 91.66% 100%); }
.site-nav { display: flex; flex-wrap: wrap; border-bottom: 3px solid var(--teal); background: var(--panel); }
.site-nav a { display: block; flex: 1 1 auto; min-width: 100px; padding: 7px 9px 6px; border-right: 2px solid var(--night); color: var(--pale); font: 400 30px/1 var(--pixel); text-align: center; text-decoration: none; text-transform: uppercase; }
.site-nav a:last-child { border-right: 0; }
.site-nav a:hover { background: var(--orange); color: var(--night); }
.site-nav a[aria-current="page"], .site-nav a[aria-current="page"]:hover { background: var(--purple); color: var(--night); }
.news-ticker { overflow: hidden; border-bottom: 2px solid var(--rose); background: var(--deep-rose); color: var(--yellow); white-space: nowrap; font: 400 23px/1.3 var(--pixel); }
.news-ticker span { display: block; width: max-content; padding: 3px 10px; animation: crawl 25s linear infinite; }
.news-ticker:hover span { animation-play-state: paused; }
@keyframes crawl { to { transform: translateX(-50%); } }
main { min-height: 300px; padding: 18px 20px 26px; }
.home-layout { display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: start; gap: 18px; }
.eyebrow { margin: 0 0 5px; color: var(--orange); font: 400 22px/1.2 var(--pixel); text-transform: uppercase; }
.hello { padding: 12px 16px; border: 2px solid var(--pink); border-left: 7px solid var(--pink); background: var(--deep-rose); box-shadow: inset -4px -4px 0 var(--deep-violet); }
.hello h1 { margin: 0 0 5px; color: var(--pale); font: 400 32px/1.15 var(--pixel); }
.hello p:last-child { margin: 0; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 17px 0 8px; padding-bottom: 3px; border-bottom: 2px dotted var(--violet); }
.section-head h2 { margin: 0; color: var(--orange); font: 400 28px/1 var(--pixel); }
.section-head h2::before { content: "✦ "; color: var(--pink); }
.page-title { margin: 0 0 12px; color: var(--pale); font: 400 40px/1 var(--pixel); }
.project-grid { display: grid; gap: 11px; }
.two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-card { display: grid; grid-template-columns: 82px minmax(0, 1fr); min-height: 102px; border: 2px solid var(--accent); background: var(--panel); color: var(--ink); text-decoration: none; box-shadow: 3px 3px 0 var(--night); }
.project-card:hover, .project-card:focus-visible { color: var(--ink); box-shadow: 5px 5px 0 var(--accent); transform: translate(-1px, -1px); }
.project-card:hover .card-copy h3, .project-card:focus-visible .card-copy h3 { text-decoration: underline; }
.card-bingo { --accent: var(--orange); grid-template-columns: 136px minmax(0, 1fr); }
.card-wallphase { --accent: var(--teal); }
.card-rng { --accent: var(--soft-pink); }
.card-art { display: flex; align-items: center; justify-content: center; min-width: 0; border-right: 2px solid var(--accent); font: 400 32px/1 var(--pixel); }
.card-bingo .card-art { background: var(--pink); color: var(--night); }
.card-wallphase .card-art { background: var(--deep-violet); }
.card-rng .card-art { background: var(--violet); color: var(--pale); }
.card-art img { display: block; width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; }
.card-bingo .card-art img { width: 128px; height: auto; }
.card-copy { align-self: center; min-width: 0; padding: 8px 11px; }
.card-copy h3 { margin: 0 0 3px; color: var(--accent); font: 400 27px/1 var(--pixel); }
.home-layout .card-copy h3 { font-size: 32px; }
.card-copy p { margin: 0; font-size: 17px; line-height: 1.35; }
.status { display: inline-block; margin-bottom: 4px; padding: 2px 5px 1px; border: 1px solid var(--orange); background: var(--deep-rose); color: var(--yellow); font: 400 21px/1 var(--pixel); }
.new-badge { display: inline-block; margin-left: 4px; color: var(--mint); font: 400 20px/1 var(--pixel); animation: blink 1.6s steps(1) infinite; }
@keyframes blink { 50% { visibility: hidden; } }
.widget { margin-bottom: 12px; border: 2px solid var(--blue); background: var(--panel); box-shadow: 3px 3px 0 var(--night); }
.widget-mint { border-color: var(--mint); background: var(--panel); }
.widget-tip { border-color: var(--orange); }
.guestbook-link { display: flex; align-items: center; gap: 9px; min-height: 84px; padding: 8px; color: var(--mint); font: 400 27px/1 var(--pixel); text-decoration: none; }
.guestbook-link:hover { background: var(--deep-violet); color: var(--orange); }
.guestbook-link img { display: block; flex: none; width: 64px; height: 64px; image-rendering: pixelated; }
.widget h2 { margin: 0; padding: 8px 9px 5px; border-bottom: 2px solid var(--night); background: var(--blue); color: var(--night); font: 400 24px/1 var(--pixel); }
.widget-mint h2 { background: var(--mint); }
.widget-tip h2 { background: var(--orange); }
.widget-body { padding: 8px 10px 10px; }
.tip-link { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 9px 10px; color: var(--mint); font: 400 28px/1 var(--pixel); text-align: center; text-decoration: none; }
.tip-link:hover { background: var(--deep-violet); color: var(--orange); }
.tip-link img { display: block; flex: none; width: 96px; height: 96px; image-rendering: pixelated; }
.tip-link small { display: block; margin-top: 2px; color: var(--pale); font-size: 22px; }
.widget p { margin: 0 0 9px; font-size: 17px; line-height: 1.45; }
.widget p:last-child { margin-bottom: 0; }
.widget time { display: block; margin-bottom: 3px; color: var(--yellow); font: 400 20px/1 var(--pixel); }
.updates-area { margin-top: 6px; }
.updates-area .section-head span { color: var(--soft-pink); font: 400 21px/1 var(--pixel); }
.updates-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.updates-card { --update-color: var(--pink); border: 2px solid var(--update-color); background: var(--panel); box-shadow: 3px 3px 0 var(--night); min-width: 0; }
.updates-bingo { --update-color: var(--pink); }
.updates-wallphase { --update-color: var(--teal); }
.updates-rng { --update-color: var(--purple); }
.updates-card-head { display: flex; align-items: center; gap: 7px; min-height: 74px; padding: 5px 8px; border-bottom: 2px solid var(--night); background: var(--update-color); }
.updates-card h3 { display: flex; flex: 1; align-items: center; gap: 8px; min-width: 0; margin: 0; font: 400 31px/1 var(--pixel); }
.updates-card h3 img { flex: none; width: 32px; height: 32px; object-fit: contain; image-rendering: pixelated; }
.updates-bingo h3 img { width: 64px; height: auto; }
.updates-card h3 a { color: var(--night); text-decoration: none; }
.updates-card h3 a:hover { color: var(--night); text-decoration: underline; }
.updates-card .updates-rss { flex: none; padding: 3px 4px 1px; border: 1px solid var(--night); color: var(--night); font: 400 20px/1 var(--pixel); text-decoration: none; }
.updates-card .updates-rss:hover { background: var(--night); color: var(--mint); }
.updates-card .updates-rss[hidden] { display: none; }
.updates-list { margin: 0; padding: 9px 10px 10px; list-style: none; }
.updates-list li { margin: 0; font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
.updates-list li + li { margin-top: 9px; padding-top: 8px; border-top: 1px dotted var(--violet); }
.updates-list time { display: block; margin-bottom: 2px; color: var(--yellow); font: 400 18px/1.15 var(--pixel); }
.updates-list .updates-empty { color: var(--pale); font-style: italic; }
.button-shelf { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 17px; padding-top: 10px; border-top: 2px dotted var(--violet); }
.button-shelf > span { margin-right: 4px; color: var(--orange); font: 400 23px/1 var(--pixel); }
.shelf-brand, .shelf-itch { display: block; flex: none; width: 88px; height: 31px; }
.shelf-brand img { display: block; width: 88px; height: 31px; image-rendering: pixelated; }
.shelf-itch { display: flex; align-items: center; justify-content: center; border: 2px outset #fa5c5c; background: #fa5c5c; box-shadow: 2px 2px 0 var(--night); }
.shelf-itch img { display: block; width: 76px; height: auto; max-height: 24px; }
.shelf-itch:hover { outline: 2px solid var(--mint); outline-offset: 1px; }
.hit-readout { display: inline-flex; align-items: center; gap: 5px; color: var(--pale); font: 400 34px/1 var(--pixel); }
.counter-badge { display: block; max-width: 100%; height: 32px; image-rendering: pixelated; }
.breadcrumb { margin: 0 0 16px; font-size: 17px; }
.project-hero { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; padding: 12px; border: 2px solid var(--accent); background: var(--hero-bg); }
.hero-bingo { --accent: #ebdf41; --hero-bg: #303030; }
.hero-wallphase { --accent: #92e8c0; --hero-bg: #2b2b45; }
.hero-rng { --accent: #fa9f42; --hero-bg: #0c0910; }
.hero-art { display: flex; align-items: center; justify-content: center; flex: 0 0 132px; width: 132px; height: 132px; border: 2px solid var(--accent); color: #fff; background: #d53492; font: 400 27px/1 var(--pixel); }
.hero-wallphase .hero-art { background: #14182e; }
.hero-rng .hero-art { background: #453750; color: #fa9f42; font-size: 48px; }
.hero-art img { width: 128px; height: 128px; object-fit: contain; image-rendering: pixelated; }
.hero-bingo .hero-art { flex-basis: 132px; width: 132px; height: 90px; }
.hero-bingo .hero-art img { width: 128px; height: auto; }
.project-hero h1 { margin: 3px 0 5px; color: var(--accent); font: 400 40px/1 var(--pixel); }
.project-hero p:last-child { margin: 0; }
.window { border: 2px solid var(--teal); background: var(--panel); }
.window-title { margin: 0; padding: 6px 10px 4px; background: var(--teal); color: var(--night); font: 400 30px/1 var(--pixel); }
.window-body { padding: 12px; }
.window-body p { max-width: 68ch; margin: 0 0 9px; }
.window-body p:last-child { margin-bottom: 0; }
.itch-section { margin-top: 12px; }
.project-news { margin-top: 12px; }
.project-news time { color: var(--project-accent); font: 400 20px/1 var(--pixel); }
.itch-frame { max-width: 100%; overflow-x: auto; }
.itch-frame iframe { display: block; border: 0; }
.itch-section .window-body p { margin-top: 12px; }
.visit-link { display: inline-block; padding: 8px 10px 5px; border: 2px outset var(--orange); background: var(--orange); color: var(--night); font: 400 22px/1 var(--pixel); }
.visit-link:hover { background: var(--pink); color: var(--night); }
.about-layout { display: grid; grid-template-columns: minmax(0, 1fr) 152px; gap: 14px; align-items: stretch; }
.about-logo { display: flex; align-items: center; justify-content: center; width: 152px; min-height: 152px; border: 2px solid var(--mint); background: var(--deep-violet); }
.about-logo img { display: block; width: 128px; height: 128px; image-rendering: pixelated; }
.lost-screen { max-width: 540px; margin: 15px auto; padding: 18px; border: 3px solid var(--teal); background: repeating-linear-gradient(to bottom, var(--deep-violet) 0 4px, var(--night) 4px 8px); text-align: center; box-shadow: 4px 4px 0 var(--purple); }
.lost-screen .error-art { display: block; width: 192px; max-width: 100%; height: auto; margin: 0 auto; image-rendering: pixelated; }
.lost-screen h1 { margin: 4px 0; color: var(--soft-pink); font: 400 40px/1 var(--pixel); }
.lost-screen p { margin: 7px 0 12px; }
.lost-screen a { display: inline-block; padding: 5px 11px 3px; border: 2px outset var(--mint); background: var(--mint); color: var(--night); font: 400 20px/1 var(--pixel); text-decoration: none; }
.lost-screen a:hover { background: var(--orange); color: var(--night); }
.guestbook-page { max-width: 590px; margin: auto; }
.guestbook-widget { border: 2px solid var(--soft-pink); background: var(--panel); box-shadow: 3px 3px 0 var(--deep-violet); }
.guestbook-widget h1 { display: flex; align-items: center; gap: 10px; margin: 0; padding: 7px 12px; background: var(--soft-pink); color: var(--night); font: 400 36px/1 var(--pixel); }
.guestbook-widget h1 img { display: block; width: 32px; height: 32px; image-rendering: pixelated; }
.guestbook-view { height: 470px; margin: 10px; overflow: hidden; border: 2px solid var(--blue); background: var(--frame); }
.guestbook-frame { display: block; width: 100%; height: calc(100% + 172px); margin-top: -172px; border: 0; background: var(--frame); }
footer { display: flex; justify-content: space-between; gap: 15px; padding: 8px 15px; border-top: 3px solid var(--violet); background: var(--deep-violet); color: var(--pale); font-size: 17px; }
footer a { color: var(--mint); }
footer a:hover { color: var(--yellow); }

.project-theme { color: var(--project-ink); background: radial-gradient(circle at 3px 3px, var(--project-dots) 1.5px, transparent 2px) 0 0 / 22px 22px, var(--project-night); }
.project-theme .site-frame { background: var(--project-bg); border-color: var(--project-border); box-shadow: 8px 8px 0 var(--project-shadow); }
.project-theme .site-header, .project-theme footer { background: var(--project-night); }
.project-theme .site-header p { color: var(--project-accent); }
.project-theme .header-stamp { background: var(--project-panel); color: var(--project-accent); border-color: var(--project-accent); box-shadow: 4px 4px 0 var(--project-shadow); }
.project-theme .site-nav { background: var(--project-panel); border-color: var(--project-border); }
.project-theme .site-nav a { color: var(--project-ink); border-color: var(--project-night); }
.project-theme .site-nav a:hover { background: var(--project-button); color: var(--project-button-ink); }
.project-theme .site-nav a[aria-current="page"], .project-theme .site-nav a[aria-current="page"]:hover { background: var(--project-accent); color: var(--project-night); }
.project-theme .news-ticker { background: var(--project-panel); color: var(--project-accent); border-color: var(--project-border); }
.project-theme a { color: var(--project-link); }
.project-theme a:hover { color: var(--project-accent); }
.project-theme a:focus-visible { outline-color: var(--project-accent); }
.project-theme .skip-link { background: var(--project-accent); color: var(--project-night); }
.project-theme .brand, .project-theme .brand:hover, .project-theme .brand:visited { color: var(--project-ink); }
.project-theme .brand-name { text-shadow: 3px 3px 0 var(--project-night); }
.project-theme .brand-name span { color: var(--project-accent); }
.project-theme footer a { color: var(--project-link); }
.project-theme footer a:hover { color: var(--project-accent); }
.project-theme .new-badge { color: var(--project-accent); }
.project-theme .project-hero { border-color: var(--project-border); background: var(--project-panel); }
.project-theme .project-hero h1 { color: var(--project-accent); }
.project-theme .hero-art { border-color: var(--project-border); }
.project-theme .eyebrow { color: var(--project-accent); }
.project-theme .window { border-color: var(--project-border); background: var(--project-panel); }
.project-theme .window-title { background: var(--project-border); color: var(--project-night); }
.project-theme .visit-link { background: var(--project-button); color: var(--project-button-ink); border-color: var(--project-button); }
.project-theme .visit-link:hover { background: var(--project-accent); color: var(--project-night); }
.project-theme .status { border-color: var(--project-accent); background: var(--project-night); color: var(--project-accent); }
.project-theme footer { border-color: var(--project-border); color: var(--project-ink); }
.theme-bingo { --project-night: #242424; --project-bg: #303030; --project-panel: #303030; --project-dots: #242424; --project-border: #329ebb; --project-shadow: #d53492; --project-accent: #ebdf41; --project-link: #fddca3; --project-ink: #fff; --project-button: #d53492; --project-button-ink: #fff; }
.theme-bingo .palette-strip { background: linear-gradient(to right, #242424 0 10%, #303030 10% 20%, #329ebb 20% 30%, #b1bf52 30% 40%, #d53492 40% 50%, #e48c5c 50% 60%, #ebdf41 60% 70%, #fddca3 70% 85%, #fff 85%); }
.theme-bingo .hero-art { background: #d53492; }
.theme-bingo .window-title { color: #242424; }
.theme-wallphase { --project-night: #14182e; --project-bg: #2b2b45; --project-panel: #283540; --project-dots: #3a3f5e; --project-border: #4fa4b8; --project-shadow: #4b1d52; --project-accent: #92e8c0; --project-link: #ffee83; --project-ink: #f5ffe8; --project-button: #f0b541; --project-button-ink: #14182e; }
.theme-wallphase .palette-strip { background: linear-gradient(to right, #14182e 0 8%, #2b2b45 8% 16%, #4c6885 16% 24%, #4fa4b8 24% 32%, #92e8c0 32% 40%, #c8d45d 40% 48%, #f0b541 48% 56%, #ff8933 56% 64%, #e64539 64% 72%, #cc2f7b 72% 80%, #9c2a70 80% 88%, #a3a7c2 88%); }
.theme-rng { --project-night: #0c0910; --project-bg: #0c0910; --project-panel: #453750; --project-dots: #453750; --project-border: #73648a; --project-shadow: #453750; --project-accent: #fa9f42; --project-link: #fa9f42; --project-ink: #a393bf; --project-button: #fa9f42; --project-button-ink: #0c0910; }
.theme-rng .palette-strip { background: linear-gradient(to right, #0c0910 0 16.66%, #453750 16.66% 33.33%, #73648a 33.33% 50%, #9882ac 50% 66.66%, #a393bf 66.66% 83.33%, #fa9f42 83.33%); }
.theme-rng .hero-art { background: #453750; color: #fa9f42; }
.theme-rng .window-title { background: #fa9f42; color: #0c0910; }
.theme-rng .window { background: #0c0910; }

@media (max-width: 780px) {
  .home-layout { grid-template-columns: 1fr; }
  .home-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .home-sidebar .widget { margin: 0; }
  .site-header { grid-template-columns: minmax(0, 1fr) auto; }
  .site-header p { font-size: 26px; }
  .header-stamp { font-size: 38px; }
}
@media (max-width: 620px) {
  .brand-name { font-size: 42px; }
  .header-stamp { padding: 7px 9px 5px; font-size: 32px; }
}
@media (max-width: 660px) {
  .two-up, .updates-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  body { padding: 10px 7px 22px; }
  .site-frame { box-shadow: 4px 4px 0 var(--violet); }
  .project-theme .site-frame { box-shadow: 4px 4px 0 var(--project-shadow); }
  .site-header { grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 8px 10px; }
  .header-stamp { display: none; }
  .brand { gap: 8px; }
  .brand img { width: 128px; height: 128px; }
  .brand-name { font-size: 38px; }
  .site-header p { margin: -32px 0 0 136px; font-size: 26px; }
  .site-nav a { min-width: 33.333%; padding: 9px 5px 7px; border-bottom: 2px solid var(--night); font-size: 20px; }
  main { padding: 14px 11px 20px; }
  .home-sidebar { grid-template-columns: 1fr; }
  .page-title, .guestbook-widget h1 { font-size: 32px; }
  .guestbook-view { height: 485px; }
  .project-card { grid-template-columns: 76px minmax(0, 1fr); }
  .card-bingo { grid-template-columns: 76px minmax(0, 1fr); }
  .card-art { font-size: 16px; }
  .card-rng .card-art { font-size: 32px; }
  .card-art img { width: 64px; height: 64px; }
  .card-bingo .card-art img { width: 64px; height: auto; }
  .card-copy { padding: 11px; }
  .card-copy h3, .home-layout .card-copy h3 { font-size: 29px; overflow-wrap: anywhere; }
  .project-hero { align-items: flex-start; gap: 12px; padding: 13px; }
  .hero-art { flex-basis: 68px; width: 68px; height: 68px; font-size: 16px; }
  .hero-rng .hero-art { font-size: 32px; }
  .hero-art img { width: 64px; height: 64px; }
  .hero-bingo .hero-art { flex-basis: 68px; width: 68px; height: 48px; }
  .hero-bingo .hero-art img { width: 64px; height: auto; }
  .project-hero h1 { font-size: 32px; overflow-wrap: anywhere; }
  .window-title { font-size: 32px; }
  .about-layout { grid-template-columns: 1fr; }
  .about-logo { justify-self: center; }
  footer { flex-wrap: wrap; }
}
@media (max-width: 380px) {
  .site-header p { margin: 4px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .news-ticker span, .new-badge { animation: none; }
  .project-card:hover, .project-card:focus-visible { transform: none; }
}
