chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:26:32 +08:00
commit a4dc407056
177 changed files with 11414 additions and 0 deletions
+456
View File
@@ -0,0 +1,456 @@
:root {
--lbs-bg: #f5f5f5;
--lbs-surface: #ffffff;
--lbs-ink: #2c2f36;
--lbs-ink-soft: #4a4f5a;
--lbs-muted: #606060;
--lbs-line: #e2e2e2;
--lbs-accent: #5f9ea0;
--lbs-accent-strong: #008b8b;
--lbs-accent-soft: #e3eeef;
--lbs-code-bg: #ededed;
--lbs-radius: 14px;
--lbs-shadow: 0 1px 2px rgba(44, 47, 54, 0.04), 0 8px 24px rgba(44, 47, 54, 0.06);
--lbs-shadow-strong: 0 2px 4px rgba(44, 47, 54, 0.05), 0 14px 32px rgba(44, 47, 54, 0.1);
--lbs-font-sans: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;
--lbs-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
background: var(--lbs-bg);
color: var(--lbs-ink);
font-family: var(--lbs-font-sans);
line-height: 1.7;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#content {
max-width: 880px;
margin: 0 auto;
padding: 3.5rem 1.5rem 4rem;
}
/* ----- Header ----- */
.lbs-header {
padding-bottom: 2rem;
margin-bottom: 2.5rem;
border-bottom: 1px solid var(--lbs-line);
text-align: center;
}
.lbs-header .lbs-heading-1 {
margin: 0;
font-style: italic;
font-size: clamp(2.75rem, 8vw, 4.5rem);
line-height: 1.05;
letter-spacing: -0.02em;
font-weight: 700;
}
.lbs-header .lbs-paragraph {
margin: 0.85rem 0 0;
color: var(--lbs-ink-soft);
font-weight: 600;
font-size: 1.15rem;
}
.lbs-header .lbs-paragraph a {
border-bottom: none;
}
/* ----- Hero (lead, demo, download) ----- */
.lbs-header + .lbs-paragraph {
max-width: 36rem;
margin: 0 auto 2rem;
text-align: center;
font-size: 1.1rem;
color: var(--lbs-ink-soft);
}
.lbs-image {
display: block;
max-width: 100%;
height: auto;
margin: 0 auto;
}
.lbs-paragraph:has(.lbs-image) {
text-align: center;
margin: 1.5rem 0;
}
.lbs-image[src*="demo"] {
width: 600px;
border-radius: var(--lbs-radius);
box-shadow: var(--lbs-shadow-strong);
}
/* ----- Screenshots ----- */
.lbs-image[src*="overview"],
.lbs-image[src*="custom_runner"],
.lbs-image[src*="endless_game"] {
width: 100%;
max-width: 600px;
border-radius: var(--lbs-radius);
box-shadow: var(--lbs-shadow);
}
/* ----- Microsoft Store badge ----- */
.lbs-image[src*="download_from_microsoft_store"] {
height: 60px;
width: auto;
transition: opacity 0.15s ease, transform 0.15s ease;
}
.lbs-paragraph:has(.lbs-image[src*="download_from_microsoft_store"]) {
margin-top: 2rem;
margin-bottom: 0.5rem;
}
.lbs-paragraph a:active .lbs-image[src*="download_from_microsoft_store"] {
opacity: 0.7;
transform: translateY(2px);
}
/* availability line directly under the store badge */
.lbs-paragraph:has(.lbs-image[src*="download_from_microsoft_store"]) + .lbs-paragraph {
text-align: center;
color: var(--lbs-muted);
font-size: 0.9rem;
}
/* ----- Headings ----- */
.lbs-heading-2 {
margin: 3.5rem 0 1rem;
font-size: 1.65rem;
letter-spacing: -0.015em;
font-weight: 700;
scroll-margin-top: 1.5rem;
}
.lbs-heading-3 {
margin: 0 0 0.5rem;
font-size: 1.15rem;
letter-spacing: -0.005em;
font-weight: 600;
color: var(--lbs-ink);
}
/* ----- Body text ----- */
.lbs-paragraph {
margin: 0.85rem 0;
color: var(--lbs-ink-soft);
}
.lbs-strong {
color: var(--lbs-ink);
font-weight: 600;
}
.lbs-emphasis {
font-style: italic;
}
.lbs-ul,
.lbs-ol {
padding-left: 1.4rem;
margin: 1rem 0;
color: var(--lbs-ink-soft);
}
.lbs-list-item {
margin: 0.45rem 0;
}
.lbs-list-item::marker {
color: var(--lbs-accent);
}
/* ----- Links ----- */
.lbs-paragraph a,
.lbs-list-item a,
.lbs-details a {
color: var(--lbs-accent-strong);
text-decoration: none;
border-bottom: 1px solid rgba(0, 139, 139, 0.25);
transition: color 0.15s ease, border-color 0.15s ease;
}
.lbs-paragraph a:hover,
.lbs-list-item a:hover,
.lbs-details a:hover {
color: var(--lbs-accent);
border-bottom-color: var(--lbs-accent);
}
/* ----- Inline code ----- */
.lbs-code-span {
font-family: var(--lbs-font-mono);
font-size: 0.88em;
background: var(--lbs-code-bg);
color: var(--lbs-accent-strong);
padding: 0.12em 0.45em;
border-radius: 6px;
}
/* ----- Feature cards (silent table / Warp) ----- */
.lbs-table.lbs-table-silent {
display: block;
margin: 1.5rem 0;
border: 0;
}
.lbs-table-silent thead,
.lbs-table-silent tbody {
display: block;
}
.lbs-table-silent tr {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-bottom: 1rem;
}
.lbs-table-silent tr:has(th:nth-child(3)) {
grid-template-columns: repeat(3, 1fr);
}
.lbs-table-silent tr:last-child {
margin-bottom: 0;
}
.lbs-table-silent th {
display: block;
background: var(--lbs-surface);
border: 1px solid var(--lbs-line);
border-radius: var(--lbs-radius);
padding: 1.5rem;
text-align: left;
font-weight: 400;
box-shadow: var(--lbs-shadow);
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.lbs-table-silent th:hover {
transform: translateY(-3px);
box-shadow: var(--lbs-shadow-strong);
border-color: var(--lbs-accent);
}
.lbs-table-silent th .lbs-heading-3 {
margin: 0 0 0.5rem;
}
.lbs-table-silent th .lbs-paragraph {
margin: 0;
font-size: 0.96rem;
}
/* ----- Image + list columns (monitor section) ----- */
.lbs-table-silent tr:has(.lbs-image) {
grid-template-columns: 1fr 1fr;
gap: 2.5rem;
align-items: start;
}
.lbs-table-silent tr:has(.lbs-image) th {
background: none;
border: 0;
border-radius: 0;
padding: 0;
box-shadow: none;
}
.lbs-table-silent tr:has(.lbs-image) th:hover {
transform: none;
box-shadow: none;
border-color: transparent;
}
.lbs-table-silent tr:has(.lbs-image) .lbs-paragraph {
font-size: 1rem;
margin: 0 0 1rem;
}
.lbs-table-silent tr:has(.lbs-image) .lbs-ul {
margin: 0;
}
/* ----- Blockquote ----- */
.lbs-blockquote {
margin: 1.5rem 0;
padding: 1.1rem 1.4rem;
background: var(--lbs-surface);
border: 1px solid var(--lbs-line);
border-left: 4px solid var(--lbs-accent);
border-radius: 10px;
box-shadow: var(--lbs-shadow);
}
.lbs-blockquote .lbs-paragraph {
margin: 0;
color: var(--lbs-ink);
}
/* ----- Details / FAQ ----- */
.lbs-details {
background: var(--lbs-surface);
border: 1px solid var(--lbs-line);
border-radius: 12px;
padding: 0.25rem 1.1rem;
margin: 0.65rem 0;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.lbs-details:hover {
border-color: rgba(95, 158, 160, 0.5);
}
.lbs-details[open] {
border-color: var(--lbs-accent);
box-shadow: 0 6px 18px rgba(95, 158, 160, 0.12);
}
.lbs-summary {
cursor: pointer;
padding: 0.85rem 1.75rem 0.85rem 0;
font-weight: 600;
color: var(--lbs-ink);
list-style: none;
position: relative;
}
.lbs-summary::-webkit-details-marker {
display: none;
}
.lbs-summary::after {
content: "+";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
font-size: 1.4rem;
line-height: 1;
color: var(--lbs-accent);
transition: transform 0.2s ease;
}
.lbs-details[open] .lbs-summary::after {
content: "";
}
.lbs-details .lbs-paragraph {
margin: 0 0 0.9rem;
}
/* ----- Footer ----- */
.lbs-footer {
margin-top: 4rem;
padding-top: 1.5rem;
border-top: 1px solid var(--lbs-line);
color: var(--lbs-muted);
font-size: 0.9rem;
text-align: center;
}
.lbs-footer .lbs-paragraph {
margin: 0.35rem 0;
color: var(--lbs-muted);
}
.lbs-footer a {
color: var(--lbs-muted);
text-decoration: none;
border-bottom: 1px solid transparent;
transition: color 0.15s ease, border-color 0.15s ease;
}
.lbs-footer a:hover {
color: var(--lbs-accent-strong);
border-bottom-color: var(--lbs-accent-strong);
}
/* ----- Language switcher (footer) ----- */
.lbs-footer .lbs-strong {
color: var(--lbs-accent-strong);
font-weight: 700;
}
/* ----- Legal pages (restrained, document-like header) ----- */
.privacy-policy .lbs-header {
text-align: left;
}
.privacy-policy .lbs-header .lbs-heading-1 {
font-size: 1.9rem;
font-style: normal;
font-weight: 700;
letter-spacing: -0.01em;
}
.privacy-policy .lbs-header .lbs-paragraph {
font-size: 0.95rem;
font-weight: 400;
}
.privacy-policy .lbs-header + .lbs-paragraph {
max-width: none;
margin: 0.85rem 0;
text-align: left;
font-size: 1rem;
}
/* ----- Responsive ----- */
@media (max-width: 640px) {
#content {
padding: 2.5rem 1.25rem 3rem;
}
.lbs-image[src*="demo"] {
width: 100%;
}
.lbs-table-silent tr,
.lbs-table-silent tr:has(th:nth-child(3)),
.lbs-table-silent tr:has(.lbs-image) {
grid-template-columns: 1fr;
}
.lbs-table-silent tr:has(.lbs-image) {
gap: 1.5rem;
}
.lbs-heading-2 {
margin-top: 2.75rem;
}
}