/* Shared geometry for test, history and rankings. */
.cs-shell {
  --cs-width: min(1480px, 94vw);
  --cs-gap: 16px;
}
.cs-shell .cs-top,
.cs-shell .cs-content,
.cs-shell:has(.ws-page:not([hidden])) .cs-top,
.cs-shell:has(.ws-page:not([hidden])) .cs-content,
.cs-shell:has(.hs-page:not([hidden])) .cs-top,
.cs-shell:has(.hs-page:not([hidden])) .cs-content {
  width: var(--cs-width);
  box-sizing: border-box;
}
.cs-shell .cs-top { flex-shrink: 0; margin: 20px auto 14px; padding: 12px 18px; }
.cs-shell .cs-content { margin: 0 auto 24px; min-height: 0; }
.cs-shell .cs-top nav button { font-size: 14px; padding: 8px 13px; }
.cs-shell .cs-page > header,
.cs-shell .ws-page > .ws-page-heading { padding: 10px 0 18px; margin: 0; }
.cs-shell .cs-page > header h2,
.cs-shell .ws-page .ws-page-heading h2,
.cs-shell .hs-page .hs-page-heading h2 { font-size: 29px; line-height: 1.5; font-weight: 500; letter-spacing: 1px; margin: 2px 0 0; }
.cs-shell .cs-page > header p { font-size: 14px; line-height: 1.6; margin: 6px 0 0; color: #b8c7d7; }
.cs-shell .cs-page > header .cs-kicker { font-size: 12px; line-height: 1.6; letter-spacing: 2px; }
.cs-shell .hs-layout { margin-top: 0; gap: var(--cs-gap); }
.cs-shell .ws-grid { gap: var(--cs-gap); }
.cs-shell [data-page="rank"] .cs-box { padding: 22px; }
.cs-shell [data-page="rank"] .cs-table td,
.cs-shell [data-page="rank"] .cs-table th { font-size: 14px; }
/* One header component, including an explicit font and block baseline. */
.cs-shell .cs-page > header.cs-page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 0 20px; margin:0; font-family:'Microsoft Yahei','PingFang SC',sans-serif; line-height:1.6; }
.cs-shell .cs-page > header.cs-page-heading > div { min-width:0; }
.cs-shell .cs-page > header.cs-page-heading .cs-kicker { display:block; margin:0 0 6px; font:11px/18px Consolas,monospace; letter-spacing:2px; color:#a0f0ca; }
.cs-shell .cs-page > header.cs-page-heading h2 { margin:0; padding:0; font:500 29px/40px 'Microsoft Yahei','PingFang SC',sans-serif; letter-spacing:0; color:#e8eff7; }
.cs-shell .cs-page > header.cs-page-heading p { margin:6px 0 0; padding:0; font:400 14px/23px 'Microsoft Yahei','PingFang SC',sans-serif; letter-spacing:0; color:#b8c7d7; }
.cs-title-dot { color:#a0f0ca; }
.cs-page-heading .ws-demo-badge i { background:#a0f0ca; }
@media(max-width:760px) {
  .cs-shell .cs-top { padding: 10px 12px; margin-top: 14px; }
  .cs-shell .cs-top nav button { padding: 7px 9px; }
  .cs-shell .cs-page > header h2,
  .cs-shell .ws-page .ws-page-heading h2,
  .cs-shell .hs-page .hs-page-heading h2 { font-size: 27px; }
  .cs-shell .cs-page > header.cs-page-heading { flex-direction:column; align-items:flex-start; gap:10px; }
  .cs-shell .cs-page > header.cs-page-heading h2 { font-size:27px; line-height:38px; }
}
