/* Final polish: original section order, content width and card grids stay intact. */
:root { --body: var(--pixel); }
body { font-family: var(--body); font-size: 11px; line-height: 1.8; font-kerning: normal; }
.language-switch {
  display: inline-flex; align-items: center; flex-shrink: 0; gap: 2px;
  padding: 3px; border: 1px solid #875776; background: #211528;
  box-shadow: 2px 2px 0 #0e0816;
}
.language-button {
  display: grid; place-items: center; min-width: 28px; min-height: 30px;
  padding: 0 5px; background: transparent; color: #bc95c5;
  font-family: var(--pixel); font-size: 7px; line-height: 1;
  transition: background 140ms, color 140ms;
}
.language-button:hover { color: #ffe3f3; background: #432649; }
.language-button[aria-pressed="true"] { color: #27112f; background: #ffadd7; box-shadow: inset 0 0 0 1px #ffd8ec; }
.site-header { gap: 18px; }
.main-nav { gap: 23px; }
.hero-greeting { font-size: 13px; font-weight: 500; line-height: 22px; }
.hero-description { font-size: 13px; line-height: 22px; }
.hero-description>span:nth-of-type(2) { text-wrap: balance; }
.eyebrow { white-space: normal; font-size: 9px; letter-spacing: .2px; line-height: 16px; }
.about-copy p { font-size: 11px; line-height: 22px; }
.project-copy>p { font-size: 10px; line-height: 20px; }
.section-description { font-size: 11px; line-height: 20px; }
.model-hint { font-family: var(--body); font-size: 9px; transform: none; }
:is(.project-meta, .tech-badge, .activity-top, .activity-bottom, .data-note, .game-description, .game-genres, .game-flip-hint, .anime-progress, .social-card p) {
  font-family: var(--body); font-variant-ligatures: none; font-synthesis: none;
}
.tech-group h3 { line-height: 18px; }
.tech-badge { font-size: 9px; }
.data-note { font-size: 9px; line-height: 16px; }
.social-card p { font-size: 9px; line-height: 18px; }
.small-handwritten { font-size: 6px; line-height: 16px; text-align: right; }
.activity-top p { font-size: 10px; }
.activity-bottom { font-size: 9px; line-height: 16px; }
.activity-top p strong { font-variant-numeric: tabular-nums; }
.heatmap-months { font-size: 9px; }
.heatmap-daylabels { font-size: 8px; }
.filter-button>span[data-i18n] { color: inherit; font: inherit; }
.filter-button>[data-count] { font-family: var(--body); font-variant-numeric: tabular-nums; }
.anime-empty p { font-size: 10px; line-height: 19px; }
.anime-empty h3 { overflow-wrap: anywhere; }
.anime-progress { font-size: 9px; }
.game-instruction { font-size: 10px; line-height: 19px; }
.game-card { isolation: auto; perspective: 1400px; }
.game-card-inner {
  transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
  transform: translateZ(0) rotateY(0deg);
  transition: transform 800ms cubic-bezier(.22,.61,.36,1);
  will-change: transform; overflow: visible;
}
.game-card.is-flipped .game-card-inner { transform: translateZ(0) rotateY(180deg); }
.game-front, .game-back { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.game-front { transform: rotateY(0deg) translateZ(.1px); }
.game-back { transform: rotateY(180deg) translateZ(.1px); }
.game-front img { image-rendering: auto; transition: filter 250ms ease; }
.game-description { font-size: 10px; line-height: 19px; -webkit-overflow-scrolling: touch; }
.game-genres { font-size: 9px; line-height: 16px; }
.game-flip-hint { font-size: 8px; line-height: 16px; }
.game-number { line-height: 14px; }
.game-card.is-flipped .game-front { pointer-events: none; }
.game-card:not(.is-flipped) .game-back { pointer-events: none; }
.footer-top p { font-size: 10px; line-height: 18px; }
.footer-signature { gap: 7px; }
.footer-signature .icon { width: 10px; height: 10px; }
body .twisty-intro__button { line-height: 18px; }
@media (max-width:767px) {
  .site-header { gap: 10px; }
  .main-nav { gap: 14px; }
  .language-button { min-width: 25px; padding-inline: 4px; font-size: 6px; }
  .language-switch { gap: 1px; padding: 2px; }
  .section h2 { font-size: 15px; line-height: 30px; }
}
@media (max-width:600px) {
  .site-header { display: grid; grid-template-columns: 1fr auto auto; height: auto; min-height: 87px; padding-block: 14px 12px; column-gap: 12px; row-gap: 7px; }
  .site-header>.brand { grid-column: 1; grid-row: 1; }
  .language-switch { grid-column: 2; grid-row: 1; }
  .header-play { grid-column: 3; grid-row: 1; margin-left: 0; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; margin: 0; justify-content: space-between; gap: 14px; padding-top: 5px; font-size: 7px; line-height: 18px; }
  .main-nav a:last-child { display: inline-flex; }
}
@media (max-width:540px) {
  .hero-description { font-size: 11px; line-height: 20px; }
  .hero-description br { display: block; }
  .hero-greeting { font-size: 12px; line-height: 20px; }
  .hero-footer { font-size: 8px; line-height: 16px; gap: 6px; }
  .hero-footer .pixel-note { font-size: 8px; }
  .hero-about { margin-left: 15px; }
  .about-copy p { font-size: 10px; line-height: 19px; }
  .section h2 { font-size: 12px; line-height: 28px; letter-spacing: -.3px; }
  .about-copy h2 { font-size: 16px; line-height: 28px; }
  .section-heading { align-items: center; }
  .section-heading .text-link { margin-top: 10px; }
  .section-kicker { line-height: 16px; }
  .activity-top p { font-size: 9px; }
  .activity-bottom { font-size: 8px; }
  .small-handwritten { max-width: 110px; font-size: 5px; line-height: 14px; }
  .game-instruction { max-width: none; }
  .game-description { font-size: 9px; line-height: 18px; }
  .game-flip-hint { font-size: 8px; }
  .anime-tabs { gap: 6px; }
  .filter-button { justify-content: center; padding: 9px 7px; gap: 5px; font-size: 6px; line-height: 16px; }
  .filter-button>[data-count] { font-size: 9px; }
  .footer-top { gap: 12px; }
  .footer-top p { font-size: 8px; line-height: 15px; max-width: 145px; text-align: right; margin-left: auto; }
  .footer-bottom { font-size: 9px; }
}
@media (max-width:359px) {
  .section h2 { font-size: 11px; line-height: 26px; }
  .about-copy h2 { font-size: 15px; }
  .section-kicker { font-size: 5px; }
  .main-nav { font-size: 6px; }
  .filter-button { font-size: 5px; padding-inline: 5px; }
  .footer-top .brand { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-card-inner { transition: none; }
  .game-front img { transition: none; }
}
