Files
2026-07-13 12:26:32 +08:00

457 lines
8.6 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
: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;
}
}