@@ -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