diff options
Diffstat (limited to 'site/assets')
| -rw-r--r-- | site/assets/site.css | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/site/assets/site.css b/site/assets/site.css new file mode 100644 index 0000000..032450f --- /dev/null +++ b/site/assets/site.css @@ -0,0 +1,192 @@ +/* MeshBay site overlay — landing, about, downloads */ + +:root { + --bg: #f8fafc; + --bg-card: #ffffff; + --text: #0f172a; + --text-secondary: #475569; + --text-dim: #94a3b8; + --border: #e2e8f0; + --accent: #0ea5e9; + --accent-hover: #0284c7; + --accent-text: #ffffff; + --nav-bg: #0f172a; + --nav-text: #e2e8f0; + --nav-brand: #38bdf8; + --shadow: 0 1px 3px rgba(0,0,0,0.08); + --shadow-lg: 0 4px 16px rgba(0,0,0,0.1); +} + +@media (prefers-color-scheme: dark) { + :root { + --bg: #0f172a; + --bg-card: #1e293b; + --text: #f1f5f9; + --text-secondary: #94a3b8; + --text-dim: #64748b; + --border: #334155; + --nav-bg: #020617; + --shadow: 0 1px 3px rgba(0,0,0,0.3); + --shadow-lg: 0 4px 16px rgba(0,0,0,0.3); + } +} + +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +body { + font-family: system-ui, -apple-system, sans-serif; + background: var(--bg); + color: var(--text); + line-height: 1.6; + min-height: 100vh; +} + +a { color: var(--accent); text-decoration: none; } +a:hover { text-decoration: underline; } + +/* ── Nav ─────────────────────────────────────────────────────────────────── */ + +.site-nav { + background: var(--nav-bg); + color: var(--nav-text); + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 24px; + height: 52px; +} + +.site-nav-brand { + font-size: 1.25rem; + font-weight: 700; + color: var(--nav-brand); + text-decoration: none; +} + +.site-nav-links { display: flex; gap: 20px; } + +.site-nav-links a { + color: var(--nav-text); + font-size: 0.9rem; + opacity: 0.85; + transition: opacity 0.15s; +} +.site-nav-links a:hover { opacity: 1; text-decoration: none; } + +/* ── Hero ────────────────────────────────────────────────────────────────── */ + +.hero { + text-align: center; + padding: 80px 24px 60px; + max-width: 720px; + margin: 0 auto; +} + +.hero h1 { + font-size: 2.5rem; + font-weight: 800; + margin-bottom: 12px; + letter-spacing: -0.02em; +} + +.hero .tagline { + font-size: 1.15rem; + color: var(--text-secondary); + margin-bottom: 32px; +} + +.hero .cta { + display: inline-block; + background: var(--accent); + color: var(--accent-text); + padding: 12px 32px; + border-radius: 8px; + font-size: 1rem; + font-weight: 600; + transition: background 0.15s; +} +.hero .cta:hover { background: var(--accent-hover); text-decoration: none; } + +/* ── Feature cards ───────────────────────────────────────────────────────── */ + +.features { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); + gap: 24px; + max-width: 840px; + margin: 0 auto; + padding: 0 24px 60px; +} + +.feature-card { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 12px; + padding: 28px 24px; + box-shadow: var(--shadow); +} + +.feature-card .icon { + font-size: 2rem; + margin-bottom: 12px; +} + +.feature-card h3 { + font-size: 1.1rem; + margin-bottom: 8px; +} + +.feature-card p { + color: var(--text-secondary); + font-size: 0.92rem; +} + +/* ── Content page ────────────────────────────────────────────────────────── */ + +.page { + max-width: 680px; + margin: 0 auto; + padding: 48px 24px; +} + +.page h1 { font-size: 2rem; margin-bottom: 16px; } +.page h2 { font-size: 1.3rem; margin: 32px 0 12px; } +.page p { margin-bottom: 16px; color: var(--text-secondary); } +.page ul { margin: 0 0 16px 24px; color: var(--text-secondary); } +.page li { margin-bottom: 8px; } + +.page .pkg-table { + width: 100%; + border-collapse: collapse; + margin-bottom: 24px; +} +.page .pkg-table th, +.page .pkg-table td { + text-align: left; + padding: 10px 14px; + border-bottom: 1px solid var(--border); +} +.page .pkg-table th { font-weight: 600; } + +/* ── Footer ──────────────────────────────────────────────────────────────── */ + +.site-footer { + text-align: center; + padding: 32px 24px; + border-top: 1px solid var(--border); + color: var(--text-dim); + font-size: 0.85rem; +} + +.site-footer a { color: var(--text-secondary); } + +/* ── Responsive ──────────────────────────────────────────────────────────── */ + +@media (max-width: 600px) { + .hero h1 { font-size: 1.8rem; } + .hero { padding: 48px 16px 40px; } + .features { padding: 0 16px 40px; } + .site-nav { padding: 0 16px; } + .site-nav-links { gap: 12px; } + .site-nav-links a { font-size: 0.82rem; } +} |