:root { color-scheme: light; font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif; color: #22312d; background: #f5f7f6; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
button { font: inherit; }
a { color: inherit; }
.container { width: min(100% - 48px, 1120px); margin-inline: auto; }
.site-header { background: #fff; border-bottom: 1px solid #dce3df; }
.header-inner { min-height: 58px; display: flex; align-items: center; gap: 11px; }
.brand-mark { flex: none; width: 9px; height: 9px; background: #19766b; transform: rotate(45deg); }
.brand-name { font-size: 13px; font-weight: 700; }
.header-date { margin-left: auto; color: #7b8983; font-size: 12px; }
.git-link { flex: none; display: grid; place-items: center; width: 104px; height: 34px; margin-left: 12px; padding: 4px 7px; border: 1px solid #dce3df; border-radius: 4px; }
.git-link img { display: block; width: 100%; height: 100%; object-fit: contain; }
.git-link:hover { background: #e9f3ef; border-color: #91b9ad; }
main { padding: 38px 0 52px; }
.overview { padding-bottom: 36px; }
h1, h2, p { letter-spacing: 0; }
h1 { margin: 0; font-size: 34px; line-height: 1.3; }
.lead { max-width: 850px; margin: 16px 0 24px; color: #52645d; font-size: 15px; line-height: 1.8; }
.feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 34px; border-top: 1px solid #dce3df; }
.feature { padding: 17px 0 18px; border-bottom: 1px solid #dce3df; }
.feature h2 { margin: 0 0 6px; font-size: 15px; }
.feature p { margin: 0; color: #5d6d65; font-size: 13px; line-height: 1.7; }
.stack { margin: 15px 0 0; color: #75847c; font-size: 12px; line-height: 1.6; }
.demo { max-width: 1120px; }
.demo-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 13px; }
.demo-heading h2 { margin: 0; font-size: 19px; }
.speed-badge { flex: none; padding: 6px 9px; background: #e7f1ec; color: #237166; font-size: 11px; font-weight: 700; }
.video-frame { background: #0c1b1a; border: 1px solid #d3ddda; }
video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.playlist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.clip { min-width: 0; min-height: 52px; padding: 0 14px; display: flex; align-items: center; gap: 9px; text-align: left; color: #53655e; background: #fff; border: 1px solid #dce3df; border-radius: 3px; cursor: pointer; }
.clip:hover { border-color: #75a99f; }
.clip.is-active { border-color: #1c786c; background: #edf5f1; color: #174f47; }
.clip-number { color: #a4784a; font-size: 11px; font-weight: 700; }
.clip-name { font-size: 13px; font-weight: 700; }
.clip-duration { margin-left: auto; color: #82908b; font-size: 11px; }
@media (max-width: 700px) {
  .container { width: min(100% - 32px, 1120px); }
  .header-inner { min-height: 52px; }
  .header-date { font-size: 11px; }
  .git-link { margin-left: 3px; }
  main { padding: 25px 0 35px; }
  .overview { padding-bottom: 27px; }
  h1 { font-size: 25px; }
  .lead { margin: 12px 0 20px; font-size: 14px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature { padding: 12px 0; }
  .feature h2 { font-size: 14px; }
  .feature p { font-size: 12px; }
  .stack { margin-top: 12px; font-size: 11px; }
  .demo-heading h2 { font-size: 17px; }
  .playlist { gap: 5px; }
  .clip { min-height: 44px; padding: 0 7px; gap: 4px; }
  .clip-number { display: none; }
  .clip-name { font-size: 11px; }
  .clip-duration { font-size: 10px; }
}
@media (max-width: 370px) {
  .header-date { display: none; }
  .git-link { margin-left: auto; }
  h1 { font-size: 23px; }
  .clip-duration { display: none; }
}
