:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #243044;
  background: #f5f7fb;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
a { color: #3659a8; }
.site-header, main, .site-footer { width: min(100% - 2rem, 54rem); margin-inline: auto; }
.site-header { padding-block: 1.25rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.brand { color: inherit; font-weight: 750; text-decoration: none; }
.site-nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-nav a { text-decoration: none; }
main { padding-block: 2rem 4rem; }
.hero, .content-card, .color-mix-board { background: #fff; border: 1px solid #e4e9f2; border-radius: 1.25rem; padding: clamp(1.25rem, 4vw, 2.5rem); box-shadow: 0 0.5rem 2rem rgb(27 45 78 / 5%); }
.eyebrow { color: #66758d; font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin-top: 1.5rem; }
.link-card { display: block; padding: 1.25rem; background: #fff; border: 1px solid #e4e9f2; border-radius: 1rem; text-decoration: none; }
.link-card:hover { border-color: #8399d1; }
.meta { color: #66758d; font-size: .925rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.tag-list li { padding: .2rem .7rem; background: #eef2fa; border-radius: 99rem; font-size: .875rem; }
.site-footer { padding-block: 1.5rem; color: #66758d; font-size: .875rem; }
.collection-cover { display: block; width: min(100%, 20rem); max-height: 28rem; margin-block: 1.5rem; object-fit: contain; object-position: left center; }
.article-body { margin-top: 2rem; overflow-wrap: anywhere; }
.article-body img { max-width: 100%; height: auto; }
.article-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.article-body th, .article-body td { padding: .5rem .75rem; border: 1px solid #e4e9f2; text-align: left; }
.article-body blockquote { margin-inline: 0; padding-inline: 1rem; border-left: .25rem solid #cbd4e4; color: #526078; }
.game-container { max-width: 42rem; margin-inline: auto; }
.game-header { margin-bottom: 1rem; }
.game-header h1 { margin-bottom: .25rem; }
.game-back { display: inline-block; margin-bottom: .5rem; }
.game-age { margin-top: 0; color: #66758d; }
.mix-hint { margin-top: 0; }
.mix-target { min-height: 10rem; display: grid; place-content: center; border: 2px dashed #cbd4e4; border-radius: 1rem; text-align: center; transition: background-color .2s ease; }
.mix-target.is-dragging { outline: 3px solid #8399d1; }
.mix-target-label { font-size: .875rem; }
.mix-target-name { font-size: 2rem; font-weight: 750; }
.mix-actions { display: flex; justify-content: center; gap: .75rem; margin-block: 1rem; }
.game-btn, .mix-color-btn { min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid #cbd4e4; border-radius: .75rem; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.mix-palette { display: grid; grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr)); gap: .65rem; }
.mix-color-btn { min-height: 4rem; font-weight: 700; }
.game-btn:focus-visible, .mix-color-btn:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
.mix-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .25rem 1rem; margin-top: 1.25rem; }
.mix-info p { margin: .2rem 0; }
.mix-history { display: flex; flex-wrap: wrap; gap: .75rem; padding: 0; list-style: none; }
.mix-history li { display: flex; align-items: center; gap: .4rem; }
.mix-dot { width: 1rem; height: 1rem; border: 1px solid #cbd4e4; border-radius: 50%; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
