Skip to content

Commit 5c55991

Browse files
committed
update landing page sections + refine CLI examples
1 parent 8e9ad7b commit 5c55991

File tree

2 files changed

+856
-109
lines changed

2 files changed

+856
-109
lines changed

css/style.css

Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,3 +1436,279 @@ td {
14361436
text-align: center;
14371437
}
14381438
}
1439+
/* ===== Hero terminal: VIX READY output ===== */
1440+
1441+
.terminal-body pre {
1442+
white-space: pre; /* garde le layout */
1443+
line-height: 1.55;
1444+
}
1445+
1446+
.shell-time {
1447+
color: #93c5fd;
1448+
font-weight: 500;
1449+
}
1450+
1451+
.shell-pill {
1452+
color: #22c55e;
1453+
font-weight: 700;
1454+
}
1455+
1456+
.shell-brand {
1457+
color: #7dd3fc;
1458+
font-weight: 700;
1459+
letter-spacing: 0.06em;
1460+
}
1461+
1462+
.shell-muted {
1463+
color: #9ca3af;
1464+
}
1465+
1466+
.shell-success {
1467+
color: #22c55e;
1468+
font-weight: 700;
1469+
}
1470+
1471+
.shell-indent {
1472+
color: #a5f3fc;
1473+
font-weight: 600;
1474+
display: inline-block;
1475+
width: 2ch; /* aligne les lignes (› / i) */
1476+
}
1477+
1478+
.shell-label {
1479+
color: #e5e7eb;
1480+
font-weight: 600;
1481+
display: inline-block;
1482+
width: 9ch; /* aligne "HTTP:", "Threads:" etc */
1483+
}
1484+
1485+
.shell-value {
1486+
color: #a7f3d0;
1487+
font-weight: 600;
1488+
}
1489+
1490+
.shell-link {
1491+
color: #a5b4fc;
1492+
text-decoration: underline;
1493+
text-underline-offset: 2px;
1494+
text-decoration-color: rgba(165, 180, 252, 0.45);
1495+
}
1496+
.shell-pill-dev {
1497+
color: #38bdf8; /* bleu dev */
1498+
font-weight: 800;
1499+
}
1500+
.cpp-comment {
1501+
color: #6b7280;
1502+
font-style: italic;
1503+
}
1504+
/* ===== Subtle reveal animation (no framework) ===== */
1505+
.reveal {
1506+
opacity: 0;
1507+
transform: translateY(10px);
1508+
transition: opacity 420ms ease, transform 420ms ease;
1509+
will-change: opacity, transform;
1510+
}
1511+
1512+
.reveal.is-visible {
1513+
opacity: 1;
1514+
transform: translateY(0);
1515+
}
1516+
1517+
/* small premium hover */
1518+
.reveal.card {
1519+
transition: transform 160ms ease, box-shadow 160ms ease,
1520+
border-color 160ms ease;
1521+
}
1522+
1523+
.reveal.card:hover {
1524+
transform: translateY(-2px);
1525+
border-color: rgba(34, 197, 154, 0.85);
1526+
box-shadow: 0 22px 46px rgba(0, 0, 0, 0.75);
1527+
}
1528+
/* ===== Hero text polish ===== */
1529+
.hero-text {
1530+
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0));
1531+
border: 1px solid rgba(34, 197, 154, 0.18);
1532+
padding: 1rem;
1533+
border-radius: 16px;
1534+
}
1535+
1536+
.hero-badge {
1537+
display: inline-flex;
1538+
align-items: center;
1539+
gap: 0.55rem;
1540+
padding: 0.35rem 0.7rem;
1541+
border-radius: 999px;
1542+
background: rgba(2, 44, 34, 0.75);
1543+
border: 1px solid rgba(45, 212, 191, 0.35);
1544+
color: #d1fae5;
1545+
font-size: 0.78rem;
1546+
margin-bottom: 0.9rem;
1547+
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35);
1548+
}
1549+
1550+
.hero-dot {
1551+
width: 8px;
1552+
height: 8px;
1553+
border-radius: 999px;
1554+
background: var(--accent);
1555+
box-shadow: 0 0 14px rgba(30, 230, 163, 0.65);
1556+
}
1557+
1558+
.hero-sep {
1559+
opacity: 0.55;
1560+
}
1561+
1562+
.hero-actions .btn.ghost {
1563+
border-color: rgba(45, 212, 191, 0.25);
1564+
background: transparent;
1565+
color: #cbd5e1;
1566+
}
1567+
1568+
.hero-actions .btn.ghost:hover {
1569+
background: rgba(2, 44, 34, 0.55);
1570+
border-color: rgba(45, 212, 191, 0.55);
1571+
}
1572+
1573+
.hero-meta {
1574+
display: flex;
1575+
flex-wrap: wrap;
1576+
gap: 0.5rem;
1577+
margin-top: 0.85rem;
1578+
}
1579+
1580+
.pill {
1581+
display: inline-flex;
1582+
align-items: center;
1583+
padding: 0.22rem 0.6rem;
1584+
border-radius: 999px;
1585+
border: 1px solid rgba(45, 212, 191, 0.3);
1586+
background: rgba(2, 44, 34, 0.55);
1587+
color: #e5f9f6;
1588+
font-size: 0.78rem;
1589+
white-space: nowrap;
1590+
}
1591+
1592+
.hero-bench {
1593+
margin-top: 1.05rem;
1594+
max-width: 520px;
1595+
}
1596+
1597+
.hero-bench-title {
1598+
font-size: 0.78rem;
1599+
text-transform: uppercase;
1600+
letter-spacing: 0.08em;
1601+
color: #a7f3d0;
1602+
margin-bottom: 0.35rem;
1603+
}
1604+
1605+
.hero-bench-line {
1606+
color: #cbd5e1;
1607+
font-size: 0.92rem;
1608+
line-height: 1.5;
1609+
}
1610+
.hero-text {
1611+
animation: hero-in 420ms ease-out both;
1612+
}
1613+
1614+
@keyframes hero-in {
1615+
from {
1616+
opacity: 0;
1617+
transform: translateY(8px);
1618+
}
1619+
to {
1620+
opacity: 1;
1621+
transform: translateY(0);
1622+
}
1623+
}
1624+
1625+
.hero-panel {
1626+
animation: hero-in 520ms ease-out both;
1627+
}
1628+
/* Small reveal animation (works with your existing JS .reveal/.is-visible) */
1629+
.reveal {
1630+
opacity: 0;
1631+
transform: translateY(10px);
1632+
}
1633+
.reveal.is-visible {
1634+
opacity: 1;
1635+
transform: translateY(0);
1636+
transition: opacity 0.6s ease, transform 0.6s ease;
1637+
}
1638+
1639+
/* Architecture */
1640+
.arch-grid {
1641+
display: grid;
1642+
grid-template-columns: repeat(12, 1fr);
1643+
gap: 14px;
1644+
margin-top: 18px;
1645+
}
1646+
.arch-card {
1647+
grid-column: span 6;
1648+
overflow: hidden;
1649+
}
1650+
@media (max-width: 900px) {
1651+
.arch-card {
1652+
grid-column: span 12;
1653+
}
1654+
}
1655+
.arch-title {
1656+
font-weight: 700;
1657+
font-size: 1.02rem;
1658+
margin-bottom: 0.35rem;
1659+
}
1660+
.arch-desc {
1661+
opacity: 0.9;
1662+
line-height: 1.55;
1663+
margin-bottom: 0.75rem;
1664+
}
1665+
.arch-tags {
1666+
display: flex;
1667+
flex-wrap: wrap;
1668+
gap: 8px;
1669+
}
1670+
1671+
/* CLI grid */
1672+
.cli-grid {
1673+
display: grid;
1674+
grid-template-columns: repeat(12, 1fr);
1675+
gap: 14px;
1676+
margin-top: 18px;
1677+
}
1678+
.cli-grid .code-card {
1679+
grid-column: span 6;
1680+
}
1681+
@media (max-width: 900px) {
1682+
.cli-grid .code-card {
1683+
grid-column: span 12;
1684+
}
1685+
}
1686+
1687+
/* Roadmap */
1688+
.roadmap {
1689+
margin-top: 18px;
1690+
display: flex;
1691+
flex-direction: column;
1692+
gap: 14px;
1693+
}
1694+
.road-item {
1695+
display: flex;
1696+
gap: 12px;
1697+
align-items: flex-start;
1698+
}
1699+
.road-dot {
1700+
width: 10px;
1701+
height: 10px;
1702+
border-radius: 999px;
1703+
margin-top: 7px;
1704+
background: rgba(255, 255, 255, 0.45);
1705+
flex: 0 0 auto;
1706+
}
1707+
.road-title {
1708+
font-weight: 700;
1709+
margin-bottom: 2px;
1710+
}
1711+
.road-desc {
1712+
opacity: 0.9;
1713+
line-height: 1.55;
1714+
}

0 commit comments

Comments
 (0)