diff options
Diffstat (limited to 'website/styles.css')
| -rw-r--r-- | website/styles.css | 216 |
1 files changed, 191 insertions, 25 deletions
diff --git a/website/styles.css b/website/styles.css index 0deb034..014e248 100644 --- a/website/styles.css +++ b/website/styles.css @@ -1,20 +1,36 @@ +:root { + --bg: #f3f3f1; + --surface: #fff; + --border: #ddd; + --text: #111; + --muted: rgba(0, 0, 0, 0.62); + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06); + --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.06); +} + +* { + box-sizing: border-box; +} + body { - font-family: system-ui; - background: #f3f3f1; + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + background: var(--bg); + color: var(--text); margin: 0; } a, a:visited { - color: blue + color: blue; } img { - max-width: 100% + max-width: 100%; + display: block; } .page { - max-width: 900px; + max-width: 960px; margin: 0 auto; padding: 16px; } @@ -23,9 +39,10 @@ img { .site-header, .content-grid, .screenshots, -.resources { - border: 1px solid #ddd; - background: white; +.resources, +.feature-sections { + border: 1px solid var(--border); + background: var(--surface); margin-bottom: 16px; padding: 20px; } @@ -33,9 +50,13 @@ img { .brand-row { display: flex; justify-content: space-between; + gap: 20px; + align-items: flex-start; } -.brand, .brand h1, .brand p { +.brand, +.brand h1, +.brand p { color: black; text-decoration: none; } @@ -44,28 +65,30 @@ img { display: flex; gap: 16px; align-items: center; + min-width: 0; } .brand h1 { margin: 0; } +.subtitle, .brand p { margin-top: 0; - opacity: 0.6; + opacity: 0.68; } .app-icon { width: 80px; border-radius: 18px; border: 1px solid rgba(0, 0, 0, 0.08); - box-shadow: - 0 1px 2px rgba(0, 0, 0, 0.06), - 0 4px 12px rgba(0, 0, 0, 0.08); + box-shadow: var(--shadow-sm), 0 4px 12px rgba(0, 0, 0, 0.08); + flex: 0 0 auto; } .hero-actions { text-align: right; + flex: 0 0 auto; } .store-img { @@ -78,37 +101,108 @@ img { } .intro-copy { - margin-top: 16px; + margin-top: 18px; } .lede { - padding-top: 1rem; - font-weight: bold; + margin: 0 0 10px; + font-weight: 700; + font-size: 1.125rem; +} + +.intro-copy p:last-child { + margin-bottom: 0; } -.content-grid { +.content-grid, +.feature-sections { display: grid; grid-template-columns: 1fr 1fr; + gap: 20px; +} + +.content-grid>div, +.feature-sections>.feature-panel { + min-width: 0; +} + +.content-grid h2, +.screenshots h2, +.resources h2, +.feature-panel h2 { + margin-top: 0; } -.content-grid div:first-child { - padding-right: 0.5rem; +.feature-list { + margin: 0; + padding-left: 1.2rem; + line-height: 1.55; +} + +.feature-list li+li { + margin-top: 0.45rem; } -.content-grid div:last-child { - padding-left: 0.5rem; +.section-intro { + margin-top: 0; + color: var(--muted); } -.shot-grid { +.shot-scroll { display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 10px; + grid-auto-flow: column; + grid-auto-columns: minmax(220px, 280px); + gap: 12px; + overflow-x: auto; + overscroll-behavior-x: contain; + padding-bottom: 8px; + scroll-snap-type: x proximity; + -webkit-overflow-scrolling: touch; +} + +.shot-scroll::-webkit-scrollbar { + height: 10px; +} + +.shot-scroll::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.18); +} + +.shot-card { + margin: 0; + scroll-snap-align: start; + border: 1px solid var(--border); + overflow: hidden; + background: #fafafa; + box-shadow: var(--shadow-md); +} + +.shot-card img { + width: 100%; + height: auto; +} + +.shot-card figcaption { + padding: 10px 12px 12px; + font-size: 0.95rem; + font-weight: 600; } .resource-list { display: flex; flex-direction: column; gap: 6px; + margin: 0; + padding-left: 1.2rem; +} + +.resource-list ul { + margin-top: 6px; +} + +.site-footer, +footer { + padding: 4px 2px 24px; } .privacy h2 { @@ -125,7 +219,7 @@ img { .privacy p { margin: 0 0 14px; - line-height: 1.45; + line-height: 1.5; } .privacy ul { @@ -145,4 +239,76 @@ img { .privacy a:hover { text-decoration: underline; +} + +code { + font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; + font-size: 0.95em; +} + +@media (max-width: 760px) { + .page { + padding: 12px; + } + + .brand-row, + .content-grid, + .feature-sections { + grid-template-columns: 1fr; + display: grid; + } + + .shot-scroll { + grid-auto-columns: minmax(240px, 78vw); + } + + .brand-row { + gap: 16px; + } + + .hero-actions { + text-align: left; + } + + .brand { + align-items: flex-start; + } + + .store-img { + height: 44px; + } + + .content-grid, + .feature-sections { + gap: 12px; + } + + .site-header, + .content-grid, + .screenshots, + .resources, + .feature-sections, + .privacy { + padding: 16px; + } + + .feature-list, + .resource-list { + padding-left: 1.1rem; + } +} + +.info-banner { + margin: 24px auto; + padding: 14px 16px; + max-width: 960px; + + background: #fff3cd; + border: 1px solid #ffeeba; + + color: #856404; + font-size: 14px; + line-height: 1.5; + + text-align: center; }
\ No newline at end of file |
