Compare commits
2 Commits
6975cbe8a2
...
9b54b26daf
| Author | SHA1 | Date |
|---|---|---|
|
|
9b54b26daf | |
|
|
4a0bb3bb49 |
82
index.html
82
index.html
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📦</text></svg>">
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📦</text></svg>">
|
||||||
<title>rStack — Open-Source Community Infrastructure</title>
|
<title>(you)rStack — Open-Source Community Infrastructure</title>
|
||||||
<meta name="description" content="A complete open-source stack for community self-governance. Self-hosted tools tied together with zero-knowledge identity and data sovereignty.">
|
<meta name="description" content="A complete open-source stack for community self-governance. Self-hosted tools tied together with zero-knowledge identity and data sovereignty.">
|
||||||
<style>
|
<style>
|
||||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||||
|
|
@ -24,21 +24,24 @@
|
||||||
.hl-green { color: #34d399; font-weight: 600; }
|
.hl-green { color: #34d399; font-weight: 600; }
|
||||||
.hl-orange { color: #fb923c; font-weight: 600; }
|
.hl-orange { color: #fb923c; font-weight: 600; }
|
||||||
|
|
||||||
/* ── Nav ──────────────────────────────────────── */
|
/* ── Nav (matches rstack-header) ─────────────── */
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
position: sticky;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 100;
|
left: 0;
|
||||||
background: rgba(11, 17, 32, 0.85);
|
right: 0;
|
||||||
|
z-index: 9999;
|
||||||
|
background: rgba(15, 23, 42, 0.85);
|
||||||
backdrop-filter: blur(12px);
|
backdrop-filter: blur(12px);
|
||||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
-webkit-backdrop-filter: blur(12px);
|
||||||
|
border-bottom: 1px solid rgba(255,255,255,0.08);
|
||||||
|
color: #e2e8f0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-inner {
|
.nav-inner {
|
||||||
max-width: 1100px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 0 1.5rem;
|
padding: 0 16px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
@ -48,7 +51,7 @@
|
||||||
.nav-left {
|
.nav-left {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 0.75rem;
|
gap: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-brand {
|
.nav-brand {
|
||||||
|
|
@ -59,6 +62,28 @@
|
||||||
color: #e2e8f0;
|
color: #e2e8f0;
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-brand-badge {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: linear-gradient(135deg, #22d3ee, #a78bfa, #fb923c);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 900;
|
||||||
|
color: #0b1120;
|
||||||
|
line-height: 1;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-right {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-links {
|
.nav-links {
|
||||||
|
|
@ -76,11 +101,28 @@
|
||||||
|
|
||||||
.nav-links a:hover { color: #e2e8f0; }
|
.nav-links a:hover { color: #e2e8f0; }
|
||||||
|
|
||||||
|
.nav-demo-btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px 14px;
|
||||||
|
border-radius: 6px;
|
||||||
|
font-size: 0.78rem;
|
||||||
|
font-weight: 600;
|
||||||
|
text-decoration: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
transition: background 0.15s, opacity 0.15s;
|
||||||
|
background: linear-gradient(135deg, #14b8a6, #0d9488);
|
||||||
|
color: #fff;
|
||||||
|
box-shadow: 0 1px 4px rgba(20, 184, 166, 0.25);
|
||||||
|
}
|
||||||
|
.nav-demo-btn:hover { opacity: 0.88; }
|
||||||
|
|
||||||
/* ── Hero ─────────────────────────────────────── */
|
/* ── Hero ─────────────────────────────────────── */
|
||||||
|
|
||||||
.hero {
|
.hero {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 7rem 1.5rem 5rem;
|
padding: 7rem 1.5rem 5rem;
|
||||||
|
padding-top: calc(56px + 5rem);
|
||||||
max-width: 820px;
|
max-width: 820px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
@ -345,9 +387,12 @@
|
||||||
|
|
||||||
.area-block {
|
.area-block {
|
||||||
margin-bottom: 4rem;
|
margin-bottom: 4rem;
|
||||||
scroll-margin-top: 80px;
|
scroll-margin-top: 72px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Ensure section anchors clear fixed nav */
|
||||||
|
.section[id] { scroll-margin-top: 72px; }
|
||||||
|
|
||||||
.area-header {
|
.area-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
|
@ -925,7 +970,9 @@
|
||||||
<nav>
|
<nav>
|
||||||
<div class="nav-inner">
|
<div class="nav-inner">
|
||||||
<div class="nav-left">
|
<div class="nav-left">
|
||||||
<a href="/" class="nav-brand">rStack</a>
|
<a href="/" class="nav-brand">
|
||||||
|
<span class="nav-brand-badge">r*</span>
|
||||||
|
</a>
|
||||||
<div class="app-switcher" id="appSwitcher">
|
<div class="app-switcher" id="appSwitcher">
|
||||||
<button class="app-switcher-trigger" id="appSwitcherTrigger" aria-expanded="false" aria-haspopup="true">
|
<button class="app-switcher-trigger" id="appSwitcherTrigger" aria-expanded="false" aria-haspopup="true">
|
||||||
<span class="app-switcher-badge">r*</span>
|
<span class="app-switcher-badge">r*</span>
|
||||||
|
|
@ -1068,11 +1115,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-links">
|
<div class="nav-right">
|
||||||
<a href="#areas">Apps</a>
|
<div class="nav-links">
|
||||||
<a href="#identity">Identity</a>
|
<a href="#areas">Apps</a>
|
||||||
<a href="#self-host">Self-Host</a>
|
<a href="#identity">Identity</a>
|
||||||
<a href="#open-source">Open Source</a>
|
<a href="#self-host">Self-Host</a>
|
||||||
|
<a href="#open-source">Open Source</a>
|
||||||
|
</div>
|
||||||
|
<a class="nav-demo-btn" href="https://demo.rspace.online/rspace">Try Demo</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue