ltcai 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/auto_setup.py +15 -1
- package/docs/CHANGELOG.md +67 -0
- package/kg_schema.py +64 -15
- package/knowledge_graph.py +499 -31
- package/latticeai/core/__init__.py +1 -1
- package/latticeai/core/context_builder.py +191 -0
- package/latticeai/core/document_generator.py +103 -0
- package/llm_router.py +148 -1
- package/package.json +2 -2
- package/server.py +207 -27
- package/static/css/tokens.css +26 -0
- package/static/lattice-reference.css +390 -375
- package/latticeai/__pycache__/__init__.cpython-314.pyc +0 -0
- package/latticeai/api/__pycache__/admin.cpython-314.pyc +0 -0
- package/latticeai/api/__pycache__/auth.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/__init__.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/audit.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/security.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/sessions.cpython-314.pyc +0 -0
|
@@ -892,6 +892,13 @@
|
|
|
892
892
|
border-radius: 18px;
|
|
893
893
|
background: var(--ref-card);
|
|
894
894
|
box-shadow: var(--ref-shadow);
|
|
895
|
+
transition: transform 200ms var(--lt-motion-ease, ease), box-shadow 200ms var(--lt-motion-ease, ease);
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
.reference-dash-card:hover,
|
|
899
|
+
.reference-lists article:hover {
|
|
900
|
+
transform: translateY(-3px);
|
|
901
|
+
box-shadow: 0 24px 64px rgba(88,72,150,0.18);
|
|
895
902
|
}
|
|
896
903
|
|
|
897
904
|
.reference-dash-card {
|
|
@@ -1372,6 +1379,12 @@
|
|
|
1372
1379
|
flex-direction: column;
|
|
1373
1380
|
justify-content: center;
|
|
1374
1381
|
overflow: hidden;
|
|
1382
|
+
transition: transform 200ms ease, box-shadow 200ms ease;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
.lattice-ref-admin .summary-card:hover {
|
|
1386
|
+
transform: translateY(-2px);
|
|
1387
|
+
box-shadow: 0 14px 40px rgba(88,72,150,0.14) !important;
|
|
1375
1388
|
}
|
|
1376
1389
|
|
|
1377
1390
|
.lattice-ref-admin .summary-card::before {
|
|
@@ -1561,16 +1574,17 @@
|
|
|
1561
1574
|
|
|
1562
1575
|
/* ============================================================
|
|
1563
1576
|
ACCOUNT / AUTH PAGE (account.html)
|
|
1577
|
+
Light lavender theme — unified with chat/graph/admin pages.
|
|
1564
1578
|
============================================================ */
|
|
1565
1579
|
|
|
1566
1580
|
body.lattice-ref-auth {
|
|
1567
|
-
--bg: #
|
|
1568
|
-
--text: #
|
|
1569
|
-
--faint: #
|
|
1570
|
-
--muted: #
|
|
1571
|
-
--accent: #
|
|
1572
|
-
--accent-2: #
|
|
1573
|
-
--shadow: 0
|
|
1581
|
+
--bg: #f7f3ff;
|
|
1582
|
+
--text: #1f2140;
|
|
1583
|
+
--faint: #8a86a8;
|
|
1584
|
+
--muted: #66627f;
|
|
1585
|
+
--accent: #6f4bf6;
|
|
1586
|
+
--accent-2: #7b6dff;
|
|
1587
|
+
--shadow: 0 26px 80px rgba(86, 70, 160, 0.22);
|
|
1574
1588
|
}
|
|
1575
1589
|
|
|
1576
1590
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
@@ -1579,9 +1593,9 @@
|
|
|
1579
1593
|
font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
|
|
1580
1594
|
color: var(--text);
|
|
1581
1595
|
background:
|
|
1582
|
-
radial-gradient(circle at
|
|
1583
|
-
radial-gradient(circle at
|
|
1584
|
-
linear-gradient(135deg, #
|
|
1596
|
+
radial-gradient(circle at 74% 22%, rgba(111,75,246,0.16), transparent 28%),
|
|
1597
|
+
radial-gradient(circle at 16% 18%, rgba(196,181,253,0.32), transparent 26%),
|
|
1598
|
+
linear-gradient(135deg, #fbf9ff 0%, #f4efff 48%, #ffffff 100%);
|
|
1585
1599
|
display: flex;
|
|
1586
1600
|
align-items: center;
|
|
1587
1601
|
justify-content: center;
|
|
@@ -1596,12 +1610,12 @@
|
|
|
1596
1610
|
position: fixed;
|
|
1597
1611
|
inset: 0;
|
|
1598
1612
|
background:
|
|
1599
|
-
radial-gradient(circle, rgba(
|
|
1600
|
-
linear-gradient(rgba(
|
|
1601
|
-
linear-gradient(90deg, rgba(
|
|
1613
|
+
radial-gradient(circle, rgba(123,109,255,0.28) 1px, transparent 1.8px),
|
|
1614
|
+
linear-gradient(rgba(123,109,255,0.08) 1px, transparent 1px),
|
|
1615
|
+
linear-gradient(90deg, rgba(123,109,255,0.06) 1px, transparent 1px);
|
|
1602
1616
|
background-size: 82px 82px, 46px 46px, 46px 46px;
|
|
1603
1617
|
background-position: 16px 18px, 0 0, 0 0;
|
|
1604
|
-
mask-image: linear-gradient(180deg, rgba(0,0,0,0.
|
|
1618
|
+
mask-image: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.02));
|
|
1605
1619
|
pointer-events: none;
|
|
1606
1620
|
}
|
|
1607
1621
|
|
|
@@ -1610,24 +1624,83 @@
|
|
|
1610
1624
|
position: fixed;
|
|
1611
1625
|
inset: 0;
|
|
1612
1626
|
background:
|
|
1613
|
-
|
|
1614
|
-
linear-gradient(
|
|
1627
|
+
radial-gradient(ellipse at 8% 78%, rgba(142,111,255,0.24), transparent 34%),
|
|
1628
|
+
linear-gradient(115deg, transparent 0 35%, rgba(111,75,246,0.09) 35.2%, transparent 35.6% 100%);
|
|
1615
1629
|
pointer-events: none;
|
|
1616
1630
|
}
|
|
1617
1631
|
|
|
1618
1632
|
.orb {
|
|
1619
1633
|
display: none;
|
|
1620
1634
|
}
|
|
1621
|
-
|
|
1622
|
-
.
|
|
1635
|
+
|
|
1636
|
+
.login-shell {
|
|
1637
|
+
width: min(920px, 100%);
|
|
1638
|
+
display: grid;
|
|
1639
|
+
grid-template-columns: minmax(280px, 400px) minmax(220px, 1fr);
|
|
1640
|
+
align-items: center;
|
|
1641
|
+
gap: 46px;
|
|
1642
|
+
position: relative;
|
|
1643
|
+
z-index: 1;
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
.brand-preview {
|
|
1647
|
+
min-height: 360px;
|
|
1648
|
+
border-radius: 34px;
|
|
1649
|
+
background:
|
|
1650
|
+
radial-gradient(circle at 54% 45%, rgba(111,75,246,0.24), transparent 18%),
|
|
1651
|
+
linear-gradient(145deg, rgba(255,255,255,0.68), rgba(244,239,255,0.32));
|
|
1652
|
+
border: 1px solid rgba(111,75,246,0.12);
|
|
1653
|
+
box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
|
|
1654
|
+
position: relative;
|
|
1655
|
+
overflow: hidden;
|
|
1656
|
+
}
|
|
1657
|
+
.brand-preview::before {
|
|
1658
|
+
content: '';
|
|
1659
|
+
position: absolute;
|
|
1660
|
+
inset: auto -12% 0 -8%;
|
|
1661
|
+
height: 46%;
|
|
1662
|
+
background: linear-gradient(135deg, rgba(111,75,246,0.24), rgba(255,255,255,0.12));
|
|
1663
|
+
clip-path: polygon(0 62%, 18% 42%, 36% 54%, 55% 26%, 76% 44%, 100% 20%, 100% 100%, 0 100%);
|
|
1664
|
+
filter: blur(1px);
|
|
1665
|
+
}
|
|
1666
|
+
.preview-node {
|
|
1667
|
+
position: absolute;
|
|
1668
|
+
width: 52px;
|
|
1669
|
+
height: 52px;
|
|
1670
|
+
border-radius: 17px;
|
|
1671
|
+
background: #fff;
|
|
1672
|
+
border: 1px solid rgba(111,75,246,0.18);
|
|
1673
|
+
box-shadow: 0 18px 40px rgba(111,75,246,0.16);
|
|
1674
|
+
}
|
|
1675
|
+
.preview-node::after {
|
|
1676
|
+
content: '';
|
|
1677
|
+
position: absolute;
|
|
1678
|
+
inset: 14px;
|
|
1679
|
+
border-radius: 10px;
|
|
1680
|
+
background: linear-gradient(135deg, #6f4bf6, #9f8cff);
|
|
1681
|
+
}
|
|
1682
|
+
.preview-node.n1 { top: 52px; left: 58px; }
|
|
1683
|
+
.preview-node.n2 { top: 112px; right: 64px; }
|
|
1684
|
+
.preview-node.n3 { left: 120px; bottom: 92px; }
|
|
1685
|
+
.preview-node.n4 { right: 120px; bottom: 58px; }
|
|
1686
|
+
.preview-line {
|
|
1687
|
+
position: absolute;
|
|
1688
|
+
height: 2px;
|
|
1689
|
+
width: 150px;
|
|
1690
|
+
background: linear-gradient(90deg, transparent, rgba(111,75,246,0.45), transparent);
|
|
1691
|
+
transform-origin: left center;
|
|
1692
|
+
}
|
|
1693
|
+
.preview-line.l1 { top: 108px; left: 112px; transform: rotate(18deg); }
|
|
1694
|
+
.preview-line.l2 { top: 186px; left: 176px; transform: rotate(112deg); }
|
|
1695
|
+
.preview-line.l3 { bottom: 112px; left: 172px; transform: rotate(-13deg); }
|
|
1623
1696
|
|
|
1624
1697
|
.card {
|
|
1625
1698
|
width: min(400px, 100%);
|
|
1626
|
-
background: rgba(
|
|
1627
|
-
border: 1px solid rgba(
|
|
1628
|
-
border-radius:
|
|
1699
|
+
background: rgba(255,255,255,0.86);
|
|
1700
|
+
border: 1px solid rgba(111,75,246,0.13);
|
|
1701
|
+
border-radius: 14px;
|
|
1629
1702
|
padding: 38px 34px;
|
|
1630
|
-
box-shadow: var(--shadow),
|
|
1703
|
+
box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.9);
|
|
1631
1704
|
position: relative;
|
|
1632
1705
|
z-index: 1;
|
|
1633
1706
|
backdrop-filter: blur(28px);
|
|
@@ -1639,17 +1712,17 @@
|
|
|
1639
1712
|
top: 0; left: 50%;
|
|
1640
1713
|
transform: translateX(-50%);
|
|
1641
1714
|
width: 55%; height: 1px;
|
|
1642
|
-
background: linear-gradient(90deg, transparent, rgba(
|
|
1715
|
+
background: linear-gradient(90deg, transparent, rgba(111,75,246,0.65), rgba(123,109,255,0.45), transparent);
|
|
1643
1716
|
}
|
|
1644
1717
|
|
|
1645
1718
|
.logo {
|
|
1646
1719
|
width: 54px; height: 54px;
|
|
1647
|
-
background:
|
|
1720
|
+
background: linear-gradient(135deg, #6f4bf6 0%, #8d7aff 100%);
|
|
1648
1721
|
border-radius: 10px;
|
|
1649
1722
|
display: flex; align-items: center; justify-content: center;
|
|
1650
|
-
font-size: 26px; color: #
|
|
1723
|
+
font-size: 26px; color: #fff;
|
|
1651
1724
|
margin: 0 auto 18px;
|
|
1652
|
-
box-shadow: 0
|
|
1725
|
+
box-shadow: 0 16px 34px rgba(111,75,246,0.28);
|
|
1653
1726
|
}
|
|
1654
1727
|
|
|
1655
1728
|
.title {
|
|
@@ -1657,7 +1730,7 @@
|
|
|
1657
1730
|
font-size: 23px;
|
|
1658
1731
|
font-weight: 800;
|
|
1659
1732
|
margin-bottom: 6px;
|
|
1660
|
-
background: linear-gradient(135deg, #
|
|
1733
|
+
background: linear-gradient(135deg, #1f2140 35%, #6f4bf6 82%);
|
|
1661
1734
|
-webkit-background-clip: text;
|
|
1662
1735
|
-webkit-text-fill-color: transparent;
|
|
1663
1736
|
background-clip: text;
|
|
@@ -1675,8 +1748,8 @@
|
|
|
1675
1748
|
width: 100%;
|
|
1676
1749
|
padding: 12px 14px;
|
|
1677
1750
|
margin-bottom: 10px;
|
|
1678
|
-
background:
|
|
1679
|
-
border: 1px solid rgba(
|
|
1751
|
+
background: #fbfaff;
|
|
1752
|
+
border: 1px solid rgba(111,75,246,0.16);
|
|
1680
1753
|
color: var(--text);
|
|
1681
1754
|
border-radius: 8px;
|
|
1682
1755
|
outline: none;
|
|
@@ -1685,29 +1758,29 @@
|
|
|
1685
1758
|
transition: border-color .15s, box-shadow .15s;
|
|
1686
1759
|
}
|
|
1687
1760
|
.input:focus {
|
|
1688
|
-
border-color: rgba(
|
|
1689
|
-
box-shadow: 0 0 0
|
|
1761
|
+
border-color: rgba(111,75,246,0.52);
|
|
1762
|
+
box-shadow: 0 0 0 4px rgba(111,75,246,0.10);
|
|
1690
1763
|
}
|
|
1691
1764
|
.input::placeholder { color: var(--faint); }
|
|
1692
1765
|
|
|
1693
1766
|
.submit {
|
|
1694
1767
|
width: 100%;
|
|
1695
1768
|
padding: 13px;
|
|
1696
|
-
background: linear-gradient(135deg, #
|
|
1697
|
-
color: #
|
|
1769
|
+
background: linear-gradient(135deg, #6f4bf6, #7b6dff);
|
|
1770
|
+
color: #fff;
|
|
1698
1771
|
border: none;
|
|
1699
1772
|
border-radius: 8px;
|
|
1700
1773
|
cursor: pointer;
|
|
1701
1774
|
font-weight: 800;
|
|
1702
1775
|
font-size: 14px;
|
|
1703
1776
|
font-family: inherit;
|
|
1704
|
-
box-shadow: 0
|
|
1777
|
+
box-shadow: 0 14px 30px rgba(111,75,246,0.24);
|
|
1705
1778
|
transition: all .18s;
|
|
1706
1779
|
margin-top: 4px;
|
|
1707
1780
|
}
|
|
1708
1781
|
.submit:hover {
|
|
1709
|
-
background: linear-gradient(135deg, #
|
|
1710
|
-
box-shadow: 0
|
|
1782
|
+
background: linear-gradient(135deg, #5f3ee6, #705fff);
|
|
1783
|
+
box-shadow: 0 18px 38px rgba(111,75,246,0.30);
|
|
1711
1784
|
transform: translateY(-1px);
|
|
1712
1785
|
}
|
|
1713
1786
|
.submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
|
|
@@ -1718,7 +1791,7 @@
|
|
|
1718
1791
|
font-size: 12.5px;
|
|
1719
1792
|
color: var(--faint);
|
|
1720
1793
|
}
|
|
1721
|
-
.switch a { color: #
|
|
1794
|
+
.switch a { color: #6f4bf6; text-decoration: none; font-weight: 700; }
|
|
1722
1795
|
.switch a:hover { text-decoration: underline; }
|
|
1723
1796
|
|
|
1724
1797
|
.sso-divider {
|
|
@@ -1728,13 +1801,13 @@
|
|
|
1728
1801
|
}
|
|
1729
1802
|
.sso-divider::before, .sso-divider::after {
|
|
1730
1803
|
content: ''; flex: 1;
|
|
1731
|
-
height: 1px; background: rgba(
|
|
1804
|
+
height: 1px; background: rgba(111,75,246,0.12);
|
|
1732
1805
|
}
|
|
1733
1806
|
.sso-btn {
|
|
1734
1807
|
width: 100%;
|
|
1735
1808
|
padding: 12px;
|
|
1736
|
-
background:
|
|
1737
|
-
border: 1px solid rgba(
|
|
1809
|
+
background: #fff;
|
|
1810
|
+
border: 1px solid rgba(111,75,246,0.15);
|
|
1738
1811
|
color: var(--text);
|
|
1739
1812
|
border-radius: 8px;
|
|
1740
1813
|
cursor: pointer;
|
|
@@ -1745,8 +1818,8 @@
|
|
|
1745
1818
|
transition: all .18s;
|
|
1746
1819
|
}
|
|
1747
1820
|
.sso-btn:hover {
|
|
1748
|
-
background:
|
|
1749
|
-
border-color: rgba(
|
|
1821
|
+
background: #f6f2ff;
|
|
1822
|
+
border-color: rgba(111,75,246,0.34);
|
|
1750
1823
|
}
|
|
1751
1824
|
|
|
1752
1825
|
.msg {
|
|
@@ -1754,9 +1827,9 @@
|
|
|
1754
1827
|
min-height: 18px;
|
|
1755
1828
|
margin-bottom: 6px;
|
|
1756
1829
|
text-align: center;
|
|
1757
|
-
color: #
|
|
1830
|
+
color: #d44f5c;
|
|
1758
1831
|
}
|
|
1759
|
-
.msg.ok { color: #
|
|
1832
|
+
.msg.ok { color: #0d8f72; }
|
|
1760
1833
|
|
|
1761
1834
|
/* Lang picker */
|
|
1762
1835
|
.lang-wrap {
|
|
@@ -1766,8 +1839,8 @@
|
|
|
1766
1839
|
z-index: 10;
|
|
1767
1840
|
}
|
|
1768
1841
|
.lang-btn {
|
|
1769
|
-
background: rgba(
|
|
1770
|
-
border: 1px solid rgba(
|
|
1842
|
+
background: rgba(255,255,255,0.86);
|
|
1843
|
+
border: 1px solid rgba(111,75,246,0.18);
|
|
1771
1844
|
color: var(--text);
|
|
1772
1845
|
border-radius: 8px;
|
|
1773
1846
|
padding: 7px 12px;
|
|
@@ -1775,19 +1848,20 @@
|
|
|
1775
1848
|
font-family: inherit;
|
|
1776
1849
|
cursor: pointer;
|
|
1777
1850
|
transition: background .15s;
|
|
1851
|
+
box-shadow: 0 10px 28px rgba(86,70,160,0.12);
|
|
1778
1852
|
}
|
|
1779
|
-
.lang-btn:hover { background: rgba(
|
|
1853
|
+
.lang-btn:hover { background: rgba(111,75,246,0.08); }
|
|
1780
1854
|
.lang-menu {
|
|
1781
1855
|
display: none;
|
|
1782
1856
|
position: absolute;
|
|
1783
1857
|
top: calc(100% + 6px);
|
|
1784
1858
|
right: 0;
|
|
1785
|
-
background: #
|
|
1786
|
-
border: 1px solid rgba(
|
|
1859
|
+
background: #fff;
|
|
1860
|
+
border: 1px solid rgba(111,75,246,0.15);
|
|
1787
1861
|
border-radius: 8px;
|
|
1788
1862
|
padding: 4px;
|
|
1789
1863
|
min-width: 130px;
|
|
1790
|
-
box-shadow: 0
|
|
1864
|
+
box-shadow: 0 18px 44px rgba(86,70,160,0.16);
|
|
1791
1865
|
}
|
|
1792
1866
|
.lang-menu.open { display: block; }
|
|
1793
1867
|
.lang-opt {
|
|
@@ -1795,155 +1869,11 @@
|
|
|
1795
1869
|
border-radius: 7px;
|
|
1796
1870
|
cursor: pointer;
|
|
1797
1871
|
font-size: 13px;
|
|
1798
|
-
color: var(--
|
|
1872
|
+
color: var(--muted);
|
|
1799
1873
|
}
|
|
1800
|
-
.lang-opt:hover { background: rgba(
|
|
1874
|
+
.lang-opt:hover { background: rgba(111,75,246,0.07); color: var(--text); }
|
|
1801
1875
|
.lang-opt.active { color: var(--accent); font-weight: 700; }
|
|
1802
1876
|
|
|
1803
|
-
/* PPT reference theme: bright indigo sign-in with SSO and language switcher. */
|
|
1804
|
-
body.lattice-ref-auth {
|
|
1805
|
-
--bg: #f7f3ff;
|
|
1806
|
-
--text: #1f2140;
|
|
1807
|
-
--faint: #8a86a8;
|
|
1808
|
-
--muted: #66627f;
|
|
1809
|
-
--accent: #6f4bf6;
|
|
1810
|
-
--accent-2: #7b6dff;
|
|
1811
|
-
--shadow: 0 26px 80px rgba(86, 70, 160, 0.22);
|
|
1812
|
-
}
|
|
1813
|
-
body.lattice-ref-auth {
|
|
1814
|
-
background:
|
|
1815
|
-
radial-gradient(circle at 74% 22%, rgba(111,75,246,0.16), transparent 28%),
|
|
1816
|
-
radial-gradient(circle at 16% 18%, rgba(196,181,253,0.32), transparent 26%),
|
|
1817
|
-
linear-gradient(135deg, #fbf9ff 0%, #f4efff 48%, #ffffff 100%);
|
|
1818
|
-
}
|
|
1819
|
-
body::before {
|
|
1820
|
-
background:
|
|
1821
|
-
radial-gradient(circle, rgba(123,109,255,0.28) 1px, transparent 1.8px),
|
|
1822
|
-
linear-gradient(rgba(123,109,255,0.08) 1px, transparent 1px),
|
|
1823
|
-
linear-gradient(90deg, rgba(123,109,255,0.06) 1px, transparent 1px);
|
|
1824
|
-
mask-image: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.02));
|
|
1825
|
-
}
|
|
1826
|
-
body::after {
|
|
1827
|
-
background:
|
|
1828
|
-
radial-gradient(ellipse at 8% 78%, rgba(142,111,255,0.24), transparent 34%),
|
|
1829
|
-
linear-gradient(115deg, transparent 0 35%, rgba(111,75,246,0.09) 35.2%, transparent 35.6% 100%);
|
|
1830
|
-
}
|
|
1831
|
-
.login-shell {
|
|
1832
|
-
width: min(920px, 100%);
|
|
1833
|
-
display: grid;
|
|
1834
|
-
grid-template-columns: minmax(280px, 400px) minmax(220px, 1fr);
|
|
1835
|
-
align-items: center;
|
|
1836
|
-
gap: 46px;
|
|
1837
|
-
position: relative;
|
|
1838
|
-
z-index: 1;
|
|
1839
|
-
}
|
|
1840
|
-
.brand-preview {
|
|
1841
|
-
min-height: 360px;
|
|
1842
|
-
border-radius: 34px;
|
|
1843
|
-
background:
|
|
1844
|
-
radial-gradient(circle at 54% 45%, rgba(111,75,246,0.24), transparent 18%),
|
|
1845
|
-
linear-gradient(145deg, rgba(255,255,255,0.68), rgba(244,239,255,0.32));
|
|
1846
|
-
border: 1px solid rgba(111,75,246,0.12);
|
|
1847
|
-
box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
|
|
1848
|
-
position: relative;
|
|
1849
|
-
overflow: hidden;
|
|
1850
|
-
}
|
|
1851
|
-
.brand-preview::before {
|
|
1852
|
-
content: '';
|
|
1853
|
-
position: absolute;
|
|
1854
|
-
inset: auto -12% 0 -8%;
|
|
1855
|
-
height: 46%;
|
|
1856
|
-
background: linear-gradient(135deg, rgba(111,75,246,0.24), rgba(255,255,255,0.12));
|
|
1857
|
-
clip-path: polygon(0 62%, 18% 42%, 36% 54%, 55% 26%, 76% 44%, 100% 20%, 100% 100%, 0 100%);
|
|
1858
|
-
filter: blur(1px);
|
|
1859
|
-
}
|
|
1860
|
-
.preview-node {
|
|
1861
|
-
position: absolute;
|
|
1862
|
-
width: 52px;
|
|
1863
|
-
height: 52px;
|
|
1864
|
-
border-radius: 17px;
|
|
1865
|
-
background: #fff;
|
|
1866
|
-
border: 1px solid rgba(111,75,246,0.18);
|
|
1867
|
-
box-shadow: 0 18px 40px rgba(111,75,246,0.16);
|
|
1868
|
-
}
|
|
1869
|
-
.preview-node::after {
|
|
1870
|
-
content: '';
|
|
1871
|
-
position: absolute;
|
|
1872
|
-
inset: 14px;
|
|
1873
|
-
border-radius: 10px;
|
|
1874
|
-
background: linear-gradient(135deg, #6f4bf6, #9f8cff);
|
|
1875
|
-
}
|
|
1876
|
-
.preview-node.n1 { top: 52px; left: 58px; }
|
|
1877
|
-
.preview-node.n2 { top: 112px; right: 64px; }
|
|
1878
|
-
.preview-node.n3 { left: 120px; bottom: 92px; }
|
|
1879
|
-
.preview-node.n4 { right: 120px; bottom: 58px; }
|
|
1880
|
-
.preview-line {
|
|
1881
|
-
position: absolute;
|
|
1882
|
-
height: 2px;
|
|
1883
|
-
width: 150px;
|
|
1884
|
-
background: linear-gradient(90deg, transparent, rgba(111,75,246,0.45), transparent);
|
|
1885
|
-
transform-origin: left center;
|
|
1886
|
-
}
|
|
1887
|
-
.preview-line.l1 { top: 108px; left: 112px; transform: rotate(18deg); }
|
|
1888
|
-
.preview-line.l2 { top: 186px; left: 176px; transform: rotate(112deg); }
|
|
1889
|
-
.preview-line.l3 { bottom: 112px; left: 172px; transform: rotate(-13deg); }
|
|
1890
|
-
.card {
|
|
1891
|
-
background: rgba(255,255,255,0.86);
|
|
1892
|
-
border: 1px solid rgba(111,75,246,0.13);
|
|
1893
|
-
border-radius: 14px;
|
|
1894
|
-
box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.9);
|
|
1895
|
-
}
|
|
1896
|
-
.card::before {
|
|
1897
|
-
background: linear-gradient(90deg, transparent, rgba(111,75,246,0.65), rgba(123,109,255,0.45), transparent);
|
|
1898
|
-
}
|
|
1899
|
-
.logo {
|
|
1900
|
-
background: linear-gradient(135deg, #6f4bf6 0%, #8d7aff 100%);
|
|
1901
|
-
color: #fff;
|
|
1902
|
-
box-shadow: 0 16px 34px rgba(111,75,246,0.28);
|
|
1903
|
-
}
|
|
1904
|
-
.title {
|
|
1905
|
-
background: linear-gradient(135deg, #1f2140 35%, #6f4bf6 82%);
|
|
1906
|
-
-webkit-background-clip: text;
|
|
1907
|
-
background-clip: text;
|
|
1908
|
-
}
|
|
1909
|
-
.input {
|
|
1910
|
-
background: #fbfaff;
|
|
1911
|
-
border-color: rgba(111,75,246,0.16);
|
|
1912
|
-
color: var(--text);
|
|
1913
|
-
}
|
|
1914
|
-
.input:focus {
|
|
1915
|
-
border-color: rgba(111,75,246,0.52);
|
|
1916
|
-
box-shadow: 0 0 0 4px rgba(111,75,246,0.10);
|
|
1917
|
-
}
|
|
1918
|
-
.submit {
|
|
1919
|
-
background: linear-gradient(135deg, #6f4bf6, #7b6dff);
|
|
1920
|
-
color: #fff;
|
|
1921
|
-
box-shadow: 0 14px 30px rgba(111,75,246,0.24);
|
|
1922
|
-
}
|
|
1923
|
-
.submit:hover {
|
|
1924
|
-
background: linear-gradient(135deg, #5f3ee6, #705fff);
|
|
1925
|
-
box-shadow: 0 18px 38px rgba(111,75,246,0.30);
|
|
1926
|
-
}
|
|
1927
|
-
.sso-btn {
|
|
1928
|
-
background: #fff;
|
|
1929
|
-
border-color: rgba(111,75,246,0.15);
|
|
1930
|
-
color: var(--text);
|
|
1931
|
-
}
|
|
1932
|
-
.sso-btn:hover {
|
|
1933
|
-
background: #f6f2ff;
|
|
1934
|
-
border-color: rgba(111,75,246,0.34);
|
|
1935
|
-
}
|
|
1936
|
-
.lang-btn {
|
|
1937
|
-
background: rgba(255,255,255,0.86);
|
|
1938
|
-
border-color: rgba(111,75,246,0.18);
|
|
1939
|
-
color: var(--text);
|
|
1940
|
-
box-shadow: 0 10px 28px rgba(86,70,160,0.12);
|
|
1941
|
-
}
|
|
1942
|
-
.lang-menu {
|
|
1943
|
-
background: #fff;
|
|
1944
|
-
border-color: rgba(111,75,246,0.15);
|
|
1945
|
-
box-shadow: 0 18px 44px rgba(86,70,160,0.16);
|
|
1946
|
-
}
|
|
1947
1877
|
@media (max-width: 760px) {
|
|
1948
1878
|
.login-shell { display: block; }
|
|
1949
1879
|
.brand-preview { display: none; }
|
|
@@ -2608,6 +2538,28 @@ body.lattice-ref-graph {
|
|
|
2608
2538
|
font-family: "SF Pro Display", "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
|
|
2609
2539
|
}
|
|
2610
2540
|
|
|
2541
|
+
body.lattice-ref-graph .app {
|
|
2542
|
+
min-height: 0;
|
|
2543
|
+
height: 100dvh;
|
|
2544
|
+
overflow: hidden;
|
|
2545
|
+
}
|
|
2546
|
+
|
|
2547
|
+
body.lattice-ref-graph .stage {
|
|
2548
|
+
height: calc(100dvh - 138px);
|
|
2549
|
+
max-height: calc(100dvh - 138px);
|
|
2550
|
+
min-height: 0;
|
|
2551
|
+
}
|
|
2552
|
+
|
|
2553
|
+
body.lattice-ref-graph .app > aside:not(.reference-rail) {
|
|
2554
|
+
height: calc(100dvh - 138px);
|
|
2555
|
+
max-height: calc(100dvh - 138px);
|
|
2556
|
+
min-height: 0;
|
|
2557
|
+
overflow-y: auto;
|
|
2558
|
+
overscroll-behavior: contain;
|
|
2559
|
+
padding-bottom: max(28px, env(safe-area-inset-bottom));
|
|
2560
|
+
scrollbar-gutter: stable;
|
|
2561
|
+
}
|
|
2562
|
+
|
|
2611
2563
|
.app {
|
|
2612
2564
|
display: grid;
|
|
2613
2565
|
grid-template-columns: minmax(0, 1fr) 360px;
|
|
@@ -2659,7 +2611,7 @@ body.lattice-ref-graph {
|
|
|
2659
2611
|
justify-content: space-between;
|
|
2660
2612
|
gap: 12px;
|
|
2661
2613
|
padding: 14px 16px 10px;
|
|
2662
|
-
border-bottom: 1px solid rgba(
|
|
2614
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
2663
2615
|
}
|
|
2664
2616
|
|
|
2665
2617
|
.search-title {
|
|
@@ -2682,8 +2634,8 @@ body.lattice-ref-graph {
|
|
|
2682
2634
|
.search-count {
|
|
2683
2635
|
flex-shrink: 0;
|
|
2684
2636
|
font-size: 11px;
|
|
2685
|
-
color: #
|
|
2686
|
-
background: linear-gradient(135deg, #
|
|
2637
|
+
color: #fff;
|
|
2638
|
+
background: linear-gradient(135deg, #6f42e8, #9a78f0);
|
|
2687
2639
|
border-radius: 999px;
|
|
2688
2640
|
padding: 5px 10px;
|
|
2689
2641
|
font-weight: 700;
|
|
@@ -2721,7 +2673,7 @@ body.lattice-ref-graph {
|
|
|
2721
2673
|
height: 42px;
|
|
2722
2674
|
border-radius: 8px;
|
|
2723
2675
|
border: 1px solid var(--line-strong);
|
|
2724
|
-
background: rgba(255,255,255,0.
|
|
2676
|
+
background: rgba(255,255,255,0.80);
|
|
2725
2677
|
color: var(--text);
|
|
2726
2678
|
cursor: pointer;
|
|
2727
2679
|
font-size: 13px;
|
|
@@ -2870,7 +2822,7 @@ body.lattice-ref-graph {
|
|
|
2870
2822
|
|
|
2871
2823
|
.sidebar-head {
|
|
2872
2824
|
padding: 18px 18px 12px;
|
|
2873
|
-
border-bottom: 1px solid rgba(
|
|
2825
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
2874
2826
|
}
|
|
2875
2827
|
|
|
2876
2828
|
.eyebrow {
|
|
@@ -2993,7 +2945,7 @@ body.lattice-ref-graph {
|
|
|
2993
2945
|
display: flex;
|
|
2994
2946
|
flex-direction: column;
|
|
2995
2947
|
gap: 6px;
|
|
2996
|
-
max-height: 150px;
|
|
2948
|
+
max-height: min(150px, 22dvh);
|
|
2997
2949
|
overflow-y: auto;
|
|
2998
2950
|
padding-right: 2px;
|
|
2999
2951
|
}
|
|
@@ -3081,14 +3033,15 @@ body.lattice-ref-graph {
|
|
|
3081
3033
|
|
|
3082
3034
|
.local-source-btn.primary {
|
|
3083
3035
|
grid-column: 1 / -1;
|
|
3084
|
-
background: #
|
|
3036
|
+
background: linear-gradient(135deg, #6f42e8, #7b61ff);
|
|
3085
3037
|
color: #fff;
|
|
3086
|
-
border-color:
|
|
3038
|
+
border-color: rgba(111,66,232,0.3);
|
|
3087
3039
|
}
|
|
3088
3040
|
|
|
3089
3041
|
.local-source-btn.primary:hover {
|
|
3090
3042
|
color: #fff;
|
|
3091
|
-
background: #
|
|
3043
|
+
background: linear-gradient(135deg, #5f35d8, #6b51ef);
|
|
3044
|
+
box-shadow: 0 8px 20px rgba(111,66,232,0.22);
|
|
3092
3045
|
}
|
|
3093
3046
|
|
|
3094
3047
|
.local-source-btn:disabled {
|
|
@@ -3110,7 +3063,7 @@ body.lattice-ref-graph {
|
|
|
3110
3063
|
color: var(--muted);
|
|
3111
3064
|
font-size: 12px;
|
|
3112
3065
|
line-height: 1.3;
|
|
3113
|
-
white-space:
|
|
3066
|
+
white-space: normal;
|
|
3114
3067
|
}
|
|
3115
3068
|
|
|
3116
3069
|
.local-option-row input {
|
|
@@ -3174,6 +3127,7 @@ body.lattice-ref-graph {
|
|
|
3174
3127
|
gap: 9px;
|
|
3175
3128
|
min-height: 26px;
|
|
3176
3129
|
font-size: 12px;
|
|
3130
|
+
min-width: 0;
|
|
3177
3131
|
}
|
|
3178
3132
|
|
|
3179
3133
|
.filter-item {
|
|
@@ -3194,7 +3148,7 @@ body.lattice-ref-graph {
|
|
|
3194
3148
|
height: 10px;
|
|
3195
3149
|
border-radius: 50%;
|
|
3196
3150
|
flex-shrink: 0;
|
|
3197
|
-
box-shadow: 0 0 0 3px rgba(
|
|
3151
|
+
box-shadow: 0 0 0 3px rgba(111,66,232,0.08);
|
|
3198
3152
|
}
|
|
3199
3153
|
|
|
3200
3154
|
.legend-line {
|
|
@@ -3208,9 +3162,11 @@ body.lattice-ref-graph {
|
|
|
3208
3162
|
.filter-name,
|
|
3209
3163
|
.legend-name {
|
|
3210
3164
|
flex: 1;
|
|
3165
|
+
min-width: 0;
|
|
3211
3166
|
color: #14162c;
|
|
3212
3167
|
font-size: 13px;
|
|
3213
3168
|
font-weight: 500;
|
|
3169
|
+
overflow-wrap: anywhere;
|
|
3214
3170
|
}
|
|
3215
3171
|
|
|
3216
3172
|
.filter-count,
|
|
@@ -3223,9 +3179,10 @@ body.lattice-ref-graph {
|
|
|
3223
3179
|
}
|
|
3224
3180
|
|
|
3225
3181
|
.detail-wrap {
|
|
3226
|
-
flex:
|
|
3227
|
-
|
|
3228
|
-
|
|
3182
|
+
flex: 0 0 auto;
|
|
3183
|
+
min-height: auto;
|
|
3184
|
+
overflow: visible;
|
|
3185
|
+
padding: 18px 18px max(24px, env(safe-area-inset-bottom));
|
|
3229
3186
|
}
|
|
3230
3187
|
|
|
3231
3188
|
.type-badge {
|
|
@@ -3245,6 +3202,7 @@ body.lattice-ref-graph {
|
|
|
3245
3202
|
font-weight: 750;
|
|
3246
3203
|
margin-bottom: 8px;
|
|
3247
3204
|
letter-spacing: -0.01em;
|
|
3205
|
+
overflow-wrap: anywhere;
|
|
3248
3206
|
}
|
|
3249
3207
|
|
|
3250
3208
|
.detail-summary {
|
|
@@ -3296,6 +3254,9 @@ body.lattice-ref-graph {
|
|
|
3296
3254
|
line-height: 1.65;
|
|
3297
3255
|
white-space: pre-wrap;
|
|
3298
3256
|
word-break: break-word;
|
|
3257
|
+
overflow-wrap: anywhere;
|
|
3258
|
+
max-height: min(42dvh, 460px);
|
|
3259
|
+
overflow: auto;
|
|
3299
3260
|
}
|
|
3300
3261
|
|
|
3301
3262
|
.jump-btn {
|
|
@@ -3323,6 +3284,65 @@ body.lattice-ref-graph {
|
|
|
3323
3284
|
}
|
|
3324
3285
|
|
|
3325
3286
|
@media (max-width: 900px) {
|
|
3287
|
+
body.lattice-ref-graph {
|
|
3288
|
+
overflow-y: auto;
|
|
3289
|
+
}
|
|
3290
|
+
|
|
3291
|
+
body.lattice-ref-graph .reference-rail {
|
|
3292
|
+
display: none;
|
|
3293
|
+
}
|
|
3294
|
+
|
|
3295
|
+
body.lattice-ref-graph {
|
|
3296
|
+
grid-template-columns: 1fr;
|
|
3297
|
+
}
|
|
3298
|
+
|
|
3299
|
+
body.lattice-ref-graph .app {
|
|
3300
|
+
height: auto;
|
|
3301
|
+
min-height: 100dvh;
|
|
3302
|
+
overflow: visible;
|
|
3303
|
+
grid-template-columns: 1fr;
|
|
3304
|
+
grid-template-rows: minmax(420px, 58dvh) auto;
|
|
3305
|
+
}
|
|
3306
|
+
|
|
3307
|
+
body.lattice-ref-graph .stage {
|
|
3308
|
+
height: auto;
|
|
3309
|
+
max-height: none;
|
|
3310
|
+
min-height: 420px;
|
|
3311
|
+
margin: 84px 12px 12px;
|
|
3312
|
+
}
|
|
3313
|
+
|
|
3314
|
+
body.lattice-ref-graph .stage::before {
|
|
3315
|
+
top: 26px;
|
|
3316
|
+
left: 58px;
|
|
3317
|
+
font-size: 24px;
|
|
3318
|
+
}
|
|
3319
|
+
|
|
3320
|
+
body.lattice-ref-graph .stage::after {
|
|
3321
|
+
top: 22px;
|
|
3322
|
+
left: 14px;
|
|
3323
|
+
}
|
|
3324
|
+
|
|
3325
|
+
body.lattice-ref-graph .search-shell {
|
|
3326
|
+
top: -60px;
|
|
3327
|
+
left: 60px;
|
|
3328
|
+
right: 12px;
|
|
3329
|
+
width: auto;
|
|
3330
|
+
}
|
|
3331
|
+
|
|
3332
|
+
body.lattice-ref-graph .app > aside:not(.reference-rail) {
|
|
3333
|
+
height: auto;
|
|
3334
|
+
max-height: none;
|
|
3335
|
+
min-height: 0;
|
|
3336
|
+
margin: 0 12px 24px;
|
|
3337
|
+
overflow: visible;
|
|
3338
|
+
padding-bottom: max(18px, env(safe-area-inset-bottom));
|
|
3339
|
+
}
|
|
3340
|
+
|
|
3341
|
+
body.lattice-ref-graph .detail-wrap {
|
|
3342
|
+
flex: none;
|
|
3343
|
+
overflow: visible;
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3326
3346
|
.app {
|
|
3327
3347
|
grid-template-columns: 1fr;
|
|
3328
3348
|
grid-template-rows: 1fr 360px;
|
|
@@ -3390,9 +3410,9 @@ body.lattice-ref-graph {
|
|
|
3390
3410
|
pointer-events: none;
|
|
3391
3411
|
z-index: 0;
|
|
3392
3412
|
background:
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
linear-gradient(180deg, #
|
|
3413
|
+
radial-gradient(circle at 82% 12%, rgba(111,66,232,0.14), transparent 30%),
|
|
3414
|
+
radial-gradient(circle at 10% 80%, rgba(180,160,255,0.16), transparent 35%),
|
|
3415
|
+
linear-gradient(180deg, #f3ecff 0%, #efe8ff 52%, #f2ecff 100%);
|
|
3396
3416
|
}
|
|
3397
3417
|
|
|
3398
3418
|
.bg-shapes {
|
|
@@ -3412,13 +3432,13 @@ body.lattice-ref-graph {
|
|
|
3412
3432
|
.bg-orb-1 {
|
|
3413
3433
|
width: 500px; height: 500px;
|
|
3414
3434
|
top: -180px; left: -120px;
|
|
3415
|
-
background: radial-gradient(circle, #
|
|
3435
|
+
background: radial-gradient(circle, #9a78f0, transparent 70%);
|
|
3416
3436
|
opacity: 0.14;
|
|
3417
3437
|
}
|
|
3418
3438
|
.bg-orb-2 {
|
|
3419
3439
|
width: 600px; height: 600px;
|
|
3420
3440
|
bottom: -200px; right: -150px;
|
|
3421
|
-
background: radial-gradient(circle, #
|
|
3441
|
+
background: radial-gradient(circle, #b4a0fd, transparent 70%);
|
|
3422
3442
|
opacity: 0.11;
|
|
3423
3443
|
}
|
|
3424
3444
|
.bg-orb-3 {
|
|
@@ -3449,8 +3469,8 @@ body.lattice-ref-graph {
|
|
|
3449
3469
|
/* ── 사이드바 ── */
|
|
3450
3470
|
.sidebar {
|
|
3451
3471
|
width: 268px;
|
|
3452
|
-
background: rgba(
|
|
3453
|
-
border-right: 1px solid rgba(
|
|
3472
|
+
background: rgba(244,237,255,0.96);
|
|
3473
|
+
border-right: 1px solid rgba(111,66,232,0.13);
|
|
3454
3474
|
display: flex;
|
|
3455
3475
|
flex-direction: column;
|
|
3456
3476
|
min-width: 240px;
|
|
@@ -3463,22 +3483,22 @@ body.lattice-ref-graph {
|
|
|
3463
3483
|
display: flex;
|
|
3464
3484
|
align-items: center;
|
|
3465
3485
|
gap: 12px;
|
|
3466
|
-
border-bottom: 1px solid rgba(
|
|
3486
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
3467
3487
|
position: relative;
|
|
3468
3488
|
}
|
|
3469
3489
|
|
|
3470
3490
|
.logo-box {
|
|
3471
3491
|
width: 38px;
|
|
3472
3492
|
height: 38px;
|
|
3473
|
-
background: linear-gradient(135deg, #
|
|
3493
|
+
background: linear-gradient(135deg, #6f42e8 0%, #9a78f0 100%);
|
|
3474
3494
|
border-radius: 10px;
|
|
3475
3495
|
display: flex;
|
|
3476
3496
|
align-items: center;
|
|
3477
3497
|
justify-content: center;
|
|
3478
|
-
color: #
|
|
3498
|
+
color: #fff;
|
|
3479
3499
|
font-weight: 800;
|
|
3480
3500
|
font-size: 18px;
|
|
3481
|
-
box-shadow: 0
|
|
3501
|
+
box-shadow: 0 8px 20px rgba(111,66,232,0.28);
|
|
3482
3502
|
flex-shrink: 0;
|
|
3483
3503
|
}
|
|
3484
3504
|
|
|
@@ -3486,14 +3506,11 @@ body.lattice-ref-graph {
|
|
|
3486
3506
|
font-size: 15px;
|
|
3487
3507
|
font-weight: 800;
|
|
3488
3508
|
letter-spacing: -0.02em;
|
|
3489
|
-
|
|
3490
|
-
-webkit-background-clip: text;
|
|
3491
|
-
-webkit-text-fill-color: transparent;
|
|
3492
|
-
background-clip: text;
|
|
3509
|
+
color: #14162c;
|
|
3493
3510
|
}
|
|
3494
3511
|
|
|
3495
3512
|
.brand-subtitle {
|
|
3496
|
-
color: #
|
|
3513
|
+
color: #6f42e8;
|
|
3497
3514
|
font-size: 10.5px;
|
|
3498
3515
|
margin-top: 1px;
|
|
3499
3516
|
letter-spacing: 0.03em;
|
|
@@ -3502,8 +3519,8 @@ body.lattice-ref-graph {
|
|
|
3502
3519
|
.user-strip {
|
|
3503
3520
|
padding: 10px 18px;
|
|
3504
3521
|
font-size: 12px;
|
|
3505
|
-
color:
|
|
3506
|
-
border-bottom: 1px solid rgba(
|
|
3522
|
+
color: var(--muted);
|
|
3523
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
3507
3524
|
display: flex;
|
|
3508
3525
|
align-items: center;
|
|
3509
3526
|
gap: 8px;
|
|
@@ -3512,21 +3529,21 @@ body.lattice-ref-graph {
|
|
|
3512
3529
|
.user-avatar {
|
|
3513
3530
|
width: 26px; height: 26px;
|
|
3514
3531
|
border-radius: 50%;
|
|
3515
|
-
background: linear-gradient(135deg,
|
|
3532
|
+
background: linear-gradient(135deg, #6f42e8, #9a78f0);
|
|
3516
3533
|
display: flex; align-items: center; justify-content: center;
|
|
3517
|
-
font-size: 11px; font-weight: 700; color: #
|
|
3534
|
+
font-size: 11px; font-weight: 700; color: #fff;
|
|
3518
3535
|
flex-shrink: 0;
|
|
3519
3536
|
}
|
|
3520
3537
|
|
|
3521
3538
|
.sidebar-search {
|
|
3522
3539
|
padding: 8px 10px;
|
|
3523
|
-
border-bottom: 1px solid rgba(
|
|
3540
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
3524
3541
|
}
|
|
3525
3542
|
.sidebar-search input {
|
|
3526
3543
|
width: 100%;
|
|
3527
3544
|
padding: 7px 10px 7px 30px;
|
|
3528
|
-
background: rgba(255,255,255,0.
|
|
3529
|
-
border: 1px solid rgba(
|
|
3545
|
+
background: rgba(255,255,255,0.60);
|
|
3546
|
+
border: 1px solid rgba(111,66,232,0.14);
|
|
3530
3547
|
border-radius: 8px;
|
|
3531
3548
|
color: var(--text);
|
|
3532
3549
|
font-size: 12px;
|
|
@@ -3587,7 +3604,7 @@ body.lattice-ref-graph {
|
|
|
3587
3604
|
border-radius: var(--radius-sm);
|
|
3588
3605
|
cursor: pointer;
|
|
3589
3606
|
font-size: 12.5px;
|
|
3590
|
-
color:
|
|
3607
|
+
color: var(--muted);
|
|
3591
3608
|
white-space: nowrap;
|
|
3592
3609
|
overflow: hidden;
|
|
3593
3610
|
text-overflow: ellipsis;
|
|
@@ -3604,28 +3621,28 @@ body.lattice-ref-graph {
|
|
|
3604
3621
|
content: '';
|
|
3605
3622
|
width: 4px; height: 4px;
|
|
3606
3623
|
border-radius: 50%;
|
|
3607
|
-
background:
|
|
3624
|
+
background: rgba(111,66,232,0.4);
|
|
3608
3625
|
flex-shrink: 0;
|
|
3609
3626
|
transition: all .15s;
|
|
3610
3627
|
}
|
|
3611
3628
|
|
|
3612
3629
|
.history-item:hover {
|
|
3613
|
-
background: rgba(
|
|
3630
|
+
background: rgba(111,66,232,0.06);
|
|
3614
3631
|
color: var(--text);
|
|
3615
3632
|
border-left-color: var(--accent);
|
|
3616
3633
|
}
|
|
3617
3634
|
.history-item:hover::before { background: var(--accent); }
|
|
3618
3635
|
.history-item.active {
|
|
3619
|
-
background: rgba(
|
|
3636
|
+
background: rgba(111,66,232,0.08);
|
|
3620
3637
|
color: var(--text);
|
|
3621
|
-
border-color: rgba(
|
|
3638
|
+
border-color: rgba(111,66,232,0.16);
|
|
3622
3639
|
border-left-color: var(--accent);
|
|
3623
3640
|
}
|
|
3624
3641
|
.history-item.active::before { background: var(--accent); }
|
|
3625
3642
|
|
|
3626
3643
|
.sidebar-footer {
|
|
3627
3644
|
padding: 14px;
|
|
3628
|
-
border-top: 1px solid rgba(
|
|
3645
|
+
border-top: 1px solid rgba(111,66,232,0.10);
|
|
3629
3646
|
display: flex;
|
|
3630
3647
|
flex-direction: column;
|
|
3631
3648
|
gap: 6px;
|
|
@@ -3635,8 +3652,8 @@ body.lattice-ref-graph {
|
|
|
3635
3652
|
width: 100%;
|
|
3636
3653
|
padding: 11px 12px;
|
|
3637
3654
|
border-radius: var(--radius-sm);
|
|
3638
|
-
background:
|
|
3639
|
-
border: 1px solid rgba(
|
|
3655
|
+
background: rgba(244,238,255,0.88);
|
|
3656
|
+
border: 1px solid rgba(111,66,232,0.20);
|
|
3640
3657
|
color: var(--text);
|
|
3641
3658
|
cursor: pointer;
|
|
3642
3659
|
display: flex;
|
|
@@ -3648,14 +3665,14 @@ body.lattice-ref-graph {
|
|
|
3648
3665
|
transition: all .18s;
|
|
3649
3666
|
}
|
|
3650
3667
|
.new-chat-btn:hover {
|
|
3651
|
-
background:
|
|
3652
|
-
border-color: rgba(
|
|
3653
|
-
box-shadow: 0 0 16px rgba(
|
|
3668
|
+
background: rgba(111,66,232,0.10);
|
|
3669
|
+
border-color: rgba(111,66,232,0.36);
|
|
3670
|
+
box-shadow: 0 0 16px rgba(111,66,232,0.12);
|
|
3654
3671
|
}
|
|
3655
3672
|
|
|
3656
3673
|
.sidebar-primary-actions {
|
|
3657
3674
|
padding: 8px 10px 10px;
|
|
3658
|
-
border-bottom: 1px solid rgba(
|
|
3675
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
3659
3676
|
}
|
|
3660
3677
|
|
|
3661
3678
|
.admin-btn {
|
|
@@ -3716,8 +3733,8 @@ body.lattice-ref-graph {
|
|
|
3716
3733
|
justify-content: space-between;
|
|
3717
3734
|
gap: 12px;
|
|
3718
3735
|
padding: 10px 22px;
|
|
3719
|
-
border-bottom: 1px solid rgba(
|
|
3720
|
-
background: rgba(
|
|
3736
|
+
border-bottom: 1px solid rgba(111,66,232,0.10);
|
|
3737
|
+
background: rgba(244,238,255,0.92);
|
|
3721
3738
|
backdrop-filter: blur(20px);
|
|
3722
3739
|
-webkit-backdrop-filter: blur(20px);
|
|
3723
3740
|
position: relative;
|
|
@@ -3736,8 +3753,8 @@ body.lattice-ref-graph {
|
|
|
3736
3753
|
display: inline-flex;
|
|
3737
3754
|
align-items: center;
|
|
3738
3755
|
gap: 8px;
|
|
3739
|
-
border: 1px solid rgba(
|
|
3740
|
-
background: rgba(
|
|
3756
|
+
border: 1px solid rgba(111,66,232,0.20);
|
|
3757
|
+
background: rgba(111,66,232,0.07);
|
|
3741
3758
|
border-radius: 999px;
|
|
3742
3759
|
padding: 6px 14px 6px 10px;
|
|
3743
3760
|
font-size: 13px;
|
|
@@ -3749,8 +3766,8 @@ body.lattice-ref-graph {
|
|
|
3749
3766
|
display: inline-flex;
|
|
3750
3767
|
align-items: center;
|
|
3751
3768
|
gap: 6px;
|
|
3752
|
-
border: 1px solid rgba(
|
|
3753
|
-
background: rgba(255,255,255,0.
|
|
3769
|
+
border: 1px solid rgba(111,66,232,0.14);
|
|
3770
|
+
background: rgba(255,255,255,0.60);
|
|
3754
3771
|
border-radius: 999px;
|
|
3755
3772
|
padding: 5px 11px;
|
|
3756
3773
|
font-size: 11.5px;
|
|
@@ -3760,22 +3777,22 @@ body.lattice-ref-graph {
|
|
|
3760
3777
|
|
|
3761
3778
|
.status-pill.vpc-ready {
|
|
3762
3779
|
color: var(--accent);
|
|
3763
|
-
border-color: rgba(
|
|
3764
|
-
background: rgba(
|
|
3780
|
+
border-color: rgba(111,66,232,0.24);
|
|
3781
|
+
background: rgba(111,66,232,0.07);
|
|
3765
3782
|
}
|
|
3766
3783
|
|
|
3767
3784
|
.status-dot {
|
|
3768
3785
|
width: 7px; height: 7px;
|
|
3769
3786
|
background: var(--accent);
|
|
3770
3787
|
border-radius: 50%;
|
|
3771
|
-
box-shadow: 0 0 8px var(--accent), 0 0 16px rgba(
|
|
3788
|
+
box-shadow: 0 0 8px var(--accent), 0 0 16px rgba(111,66,232,0.32);
|
|
3772
3789
|
flex: 0 0 auto;
|
|
3773
3790
|
animation: pulse-dot 2.5s ease-in-out infinite;
|
|
3774
3791
|
}
|
|
3775
3792
|
|
|
3776
3793
|
@keyframes pulse-dot {
|
|
3777
|
-
0%, 100% { box-shadow: 0 0 6px var(--accent), 0 0 12px rgba(
|
|
3778
|
-
50% { box-shadow: 0 0 12px var(--accent), 0 0 24px rgba(
|
|
3794
|
+
0%, 100% { box-shadow: 0 0 6px var(--accent), 0 0 12px rgba(111,66,232,0.24); }
|
|
3795
|
+
50% { box-shadow: 0 0 12px var(--accent), 0 0 24px rgba(111,66,232,0.40); }
|
|
3779
3796
|
}
|
|
3780
3797
|
|
|
3781
3798
|
.logout-btn {
|
|
@@ -3791,14 +3808,14 @@ body.lattice-ref-graph {
|
|
|
3791
3808
|
.logout-btn:hover {
|
|
3792
3809
|
color: var(--text);
|
|
3793
3810
|
border-color: rgba(255,255,255,0.08);
|
|
3794
|
-
background: rgba(255,255,255,0.
|
|
3811
|
+
background: rgba(255,255,255,0.60);
|
|
3795
3812
|
}
|
|
3796
3813
|
|
|
3797
3814
|
.acct-modal-overlay {
|
|
3798
3815
|
display: none;
|
|
3799
3816
|
position: fixed;
|
|
3800
3817
|
inset: 0;
|
|
3801
|
-
background: rgba(
|
|
3818
|
+
background: rgba(14,16,42,0.45);
|
|
3802
3819
|
backdrop-filter: blur(4px);
|
|
3803
3820
|
z-index: 1000;
|
|
3804
3821
|
align-items: center;
|
|
@@ -3811,7 +3828,7 @@ body.lattice-ref-graph {
|
|
|
3811
3828
|
display: none;
|
|
3812
3829
|
position: fixed;
|
|
3813
3830
|
inset: 0;
|
|
3814
|
-
background: rgba(
|
|
3831
|
+
background: rgba(14,16,42,0.45);
|
|
3815
3832
|
backdrop-filter: blur(4px);
|
|
3816
3833
|
z-index: 1000;
|
|
3817
3834
|
align-items: center;
|
|
@@ -3827,7 +3844,7 @@ body.lattice-ref-graph {
|
|
|
3827
3844
|
max-height: 80vh;
|
|
3828
3845
|
display: flex;
|
|
3829
3846
|
flex-direction: column;
|
|
3830
|
-
box-shadow: 0 20px 60px rgba(
|
|
3847
|
+
box-shadow: 0 20px 60px rgba(88,72,150,0.20);
|
|
3831
3848
|
overflow: hidden;
|
|
3832
3849
|
}
|
|
3833
3850
|
.mcp-modal-header {
|
|
@@ -3843,7 +3860,7 @@ body.lattice-ref-graph {
|
|
|
3843
3860
|
.mcp-item {
|
|
3844
3861
|
display: flex; align-items: center; gap: 12px;
|
|
3845
3862
|
padding: 11px 14px;
|
|
3846
|
-
background: rgba(255,255,255,0.
|
|
3863
|
+
background: rgba(255,255,255,0.60);
|
|
3847
3864
|
border: 1px solid rgba(255,255,255,0.06);
|
|
3848
3865
|
border-radius: 10px;
|
|
3849
3866
|
margin-bottom: 6px;
|
|
@@ -3860,7 +3877,7 @@ body.lattice-ref-graph {
|
|
|
3860
3877
|
color: var(--accent); cursor: pointer; transition: all .15s; flex-shrink: 0;
|
|
3861
3878
|
}
|
|
3862
3879
|
.mcp-install-btn:hover { background: rgba(111,66,232,0.16); }
|
|
3863
|
-
.mcp-install-btn.installed { border-color: rgba(
|
|
3880
|
+
.mcp-install-btn.installed { border-color: rgba(111,66,232,0.12); background: rgba(255,255,255,0.60); color: var(--faint); }
|
|
3864
3881
|
/* MCP 소스 배지 */
|
|
3865
3882
|
.mcp-source-badge {
|
|
3866
3883
|
font-size: 9.5px; font-weight: 700; padding: 2px 6px; border-radius: 4px;
|
|
@@ -3907,7 +3924,7 @@ body.lattice-ref-graph {
|
|
|
3907
3924
|
max-width: 380px;
|
|
3908
3925
|
display: flex;
|
|
3909
3926
|
flex-direction: column;
|
|
3910
|
-
box-shadow: 0 20px 60px rgba(
|
|
3927
|
+
box-shadow: 0 20px 60px rgba(88,72,150,0.20);
|
|
3911
3928
|
overflow: hidden;
|
|
3912
3929
|
}
|
|
3913
3930
|
.acct-tabs {
|
|
@@ -3926,7 +3943,7 @@ body.lattice-ref-graph {
|
|
|
3926
3943
|
.pw-field { display: flex; flex-direction: column; gap: 5px; }
|
|
3927
3944
|
.pw-field label { font-size: 11px; color: var(--muted); }
|
|
3928
3945
|
.pw-field input {
|
|
3929
|
-
background: rgba(
|
|
3946
|
+
background: rgba(14,16,42,0.25);
|
|
3930
3947
|
border: 1px solid rgba(255,255,255,0.08);
|
|
3931
3948
|
border-radius: 8px;
|
|
3932
3949
|
color: var(--text, #f8fafc);
|
|
@@ -3959,7 +3976,7 @@ body.lattice-ref-graph {
|
|
|
3959
3976
|
border: 1px solid rgba(255,255,255,0.1);
|
|
3960
3977
|
border-radius: 10px;
|
|
3961
3978
|
overflow: hidden;
|
|
3962
|
-
box-shadow: 0 8px 24px rgba(
|
|
3979
|
+
box-shadow: 0 8px 24px rgba(88,72,150,0.16);
|
|
3963
3980
|
z-index: 200;
|
|
3964
3981
|
min-width: 90px;
|
|
3965
3982
|
}
|
|
@@ -4011,24 +4028,24 @@ body.lattice-ref-graph {
|
|
|
4011
4028
|
align-items: center;
|
|
4012
4029
|
justify-content: space-between;
|
|
4013
4030
|
gap: 12px;
|
|
4014
|
-
box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.
|
|
4031
|
+
box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.80);
|
|
4015
4032
|
backdrop-filter: blur(10px);
|
|
4016
4033
|
transition: all .2s;
|
|
4017
4034
|
}
|
|
4018
4035
|
|
|
4019
4036
|
.ops-card.primary {
|
|
4020
|
-
border-color: rgba(
|
|
4021
|
-
background: linear-gradient(135deg, rgba(
|
|
4022
|
-
box-shadow: var(--shadow-sm), var(--glow-green), inset 0 1px 0 rgba(
|
|
4037
|
+
border-color: rgba(111,66,232,0.18);
|
|
4038
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.10) 0%, rgba(248,243,255,0.92) 60%);
|
|
4039
|
+
box-shadow: var(--shadow-sm), var(--glow-green), inset 0 1px 0 rgba(111,66,232,0.08);
|
|
4023
4040
|
}
|
|
4024
4041
|
|
|
4025
4042
|
.ops-card.interactive { cursor: pointer; }
|
|
4026
4043
|
|
|
4027
4044
|
.ops-card.interactive:hover {
|
|
4028
4045
|
transform: translateY(-2px);
|
|
4029
|
-
border-color: rgba(
|
|
4030
|
-
background: linear-gradient(135deg, rgba(
|
|
4031
|
-
box-shadow: var(--shadow), 0 0 30px rgba(
|
|
4046
|
+
border-color: rgba(111,66,232,0.32);
|
|
4047
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.14) 0%, rgba(248,243,255,0.96) 60%);
|
|
4048
|
+
box-shadow: var(--shadow), 0 0 30px rgba(111,66,232,0.14);
|
|
4032
4049
|
}
|
|
4033
4050
|
|
|
4034
4051
|
.ops-label {
|
|
@@ -4069,15 +4086,15 @@ body.lattice-ref-graph {
|
|
|
4069
4086
|
}
|
|
4070
4087
|
|
|
4071
4088
|
.ops-card.primary .ops-icon {
|
|
4072
|
-
background: linear-gradient(135deg, rgba(
|
|
4073
|
-
border: 1px solid rgba(
|
|
4089
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.18), rgba(129,140,248,0.14));
|
|
4090
|
+
border: 1px solid rgba(111,66,232,0.20);
|
|
4074
4091
|
color: var(--accent);
|
|
4075
|
-
box-shadow: 0 0 16px rgba(
|
|
4092
|
+
box-shadow: 0 0 16px rgba(111,66,232,0.16);
|
|
4076
4093
|
}
|
|
4077
4094
|
|
|
4078
4095
|
.ops-card:not(.primary) .ops-icon {
|
|
4079
|
-
background: rgba(255,255,255,0.
|
|
4080
|
-
border: 1px solid rgba(
|
|
4096
|
+
background: rgba(255,255,255,0.60);
|
|
4097
|
+
border: 1px solid rgba(111,66,232,0.14);
|
|
4081
4098
|
color: var(--accent-3);
|
|
4082
4099
|
}
|
|
4083
4100
|
|
|
@@ -4141,7 +4158,7 @@ body.lattice-ref-graph {
|
|
|
4141
4158
|
.bubble p { margin-bottom: 8px; }
|
|
4142
4159
|
.bubble ul, .bubble ol { padding-left: 20px; margin-bottom: 8px; }
|
|
4143
4160
|
.bubble code:not(pre code) {
|
|
4144
|
-
background: rgba(
|
|
4161
|
+
background: rgba(111,66,232,0.08);
|
|
4145
4162
|
padding: 2px 5px;
|
|
4146
4163
|
border-radius: 4px;
|
|
4147
4164
|
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
|
@@ -4149,20 +4166,19 @@ body.lattice-ref-graph {
|
|
|
4149
4166
|
}
|
|
4150
4167
|
|
|
4151
4168
|
.user .bubble {
|
|
4152
|
-
background: linear-gradient(135deg, #
|
|
4153
|
-
color: #
|
|
4169
|
+
background: linear-gradient(135deg, #6f42e8 0%, #5832c8 70%, #7b61ff 100%);
|
|
4170
|
+
color: #fff;
|
|
4154
4171
|
border-bottom-right-radius: 4px;
|
|
4155
|
-
box-shadow: 0
|
|
4156
|
-
border:
|
|
4172
|
+
box-shadow: 0 6px 24px rgba(111,66,232,0.28);
|
|
4173
|
+
border: none;
|
|
4157
4174
|
}
|
|
4158
4175
|
|
|
4159
4176
|
.ai .bubble {
|
|
4160
|
-
background: rgba(
|
|
4177
|
+
background: rgba(250,246,255,0.97);
|
|
4161
4178
|
color: var(--text);
|
|
4162
|
-
border: 1px solid rgba(
|
|
4179
|
+
border: 1px solid rgba(111,66,232,0.12);
|
|
4163
4180
|
border-bottom-left-radius: 4px;
|
|
4164
|
-
box-shadow: 0 4px
|
|
4165
|
-
backdrop-filter: blur(8px);
|
|
4181
|
+
box-shadow: 0 4px 18px rgba(88,72,150,0.08);
|
|
4166
4182
|
}
|
|
4167
4183
|
|
|
4168
4184
|
/* ── 코드 블록 ── */
|
|
@@ -4245,7 +4261,7 @@ body.lattice-ref-graph {
|
|
|
4245
4261
|
display: none;
|
|
4246
4262
|
position: fixed;
|
|
4247
4263
|
inset: 0;
|
|
4248
|
-
background: rgba(
|
|
4264
|
+
background: rgba(14,16,42,0.40);
|
|
4249
4265
|
z-index: 99;
|
|
4250
4266
|
backdrop-filter: blur(2px);
|
|
4251
4267
|
}
|
|
@@ -4285,27 +4301,26 @@ body.lattice-ref-graph {
|
|
|
4285
4301
|
.input-area {
|
|
4286
4302
|
padding: 14px 20px 20px;
|
|
4287
4303
|
padding-bottom: max(20px, env(safe-area-inset-bottom));
|
|
4288
|
-
background: linear-gradient(0deg, rgba(
|
|
4304
|
+
background: linear-gradient(0deg, rgba(243,236,255,0.98) 0%, transparent 100%);
|
|
4289
4305
|
}
|
|
4290
4306
|
|
|
4291
4307
|
.input-box {
|
|
4292
|
-
background: rgba(
|
|
4293
|
-
border: 1px solid rgba(
|
|
4308
|
+
background: rgba(248,243,255,0.97);
|
|
4309
|
+
border: 1px solid rgba(111,66,232,0.16);
|
|
4294
4310
|
border-radius: var(--radius);
|
|
4295
4311
|
padding: 10px 12px 10px;
|
|
4296
4312
|
display: flex;
|
|
4297
4313
|
flex-direction: column;
|
|
4298
4314
|
gap: 8px;
|
|
4299
|
-
box-shadow:
|
|
4315
|
+
box-shadow: 0 8px 32px rgba(88,72,150,0.10);
|
|
4300
4316
|
max-width: var(--content-width);
|
|
4301
4317
|
margin: 0 auto;
|
|
4302
4318
|
transition: border-color .2s, box-shadow .2s;
|
|
4303
|
-
backdrop-filter: blur(16px);
|
|
4304
4319
|
}
|
|
4305
4320
|
|
|
4306
4321
|
.input-box:focus-within {
|
|
4307
|
-
border-color: rgba(
|
|
4308
|
-
box-shadow:
|
|
4322
|
+
border-color: rgba(111,66,232,0.36);
|
|
4323
|
+
box-shadow: 0 8px 32px rgba(88,72,150,0.14), 0 0 0 3px rgba(111,66,232,0.08);
|
|
4309
4324
|
}
|
|
4310
4325
|
|
|
4311
4326
|
.input-row {
|
|
@@ -4343,12 +4358,12 @@ body.lattice-ref-graph {
|
|
|
4343
4358
|
}
|
|
4344
4359
|
.action-btn:hover {
|
|
4345
4360
|
color: var(--accent);
|
|
4346
|
-
background: rgba(
|
|
4361
|
+
background: rgba(111,66,232,0.08);
|
|
4347
4362
|
}
|
|
4348
4363
|
|
|
4349
4364
|
.send-btn {
|
|
4350
|
-
background: linear-gradient(135deg,
|
|
4351
|
-
color: #
|
|
4365
|
+
background: linear-gradient(135deg, #6f42e8, #7b61ff);
|
|
4366
|
+
color: #fff;
|
|
4352
4367
|
border: none;
|
|
4353
4368
|
width: 38px; height: 38px;
|
|
4354
4369
|
border-radius: 10px;
|
|
@@ -4357,13 +4372,13 @@ body.lattice-ref-graph {
|
|
|
4357
4372
|
align-items: center;
|
|
4358
4373
|
justify-content: center;
|
|
4359
4374
|
font-weight: 800;
|
|
4360
|
-
box-shadow: 0
|
|
4375
|
+
box-shadow: 0 8px 20px rgba(111,66,232,0.28);
|
|
4361
4376
|
transition: all .18s;
|
|
4362
4377
|
flex-shrink: 0;
|
|
4363
4378
|
}
|
|
4364
4379
|
.send-btn:hover {
|
|
4365
|
-
background: linear-gradient(135deg, #
|
|
4366
|
-
box-shadow: 0
|
|
4380
|
+
background: linear-gradient(135deg, #5f35d8, #6b51ef);
|
|
4381
|
+
box-shadow: 0 12px 28px rgba(111,66,232,0.36);
|
|
4367
4382
|
transform: scale(1.05);
|
|
4368
4383
|
}
|
|
4369
4384
|
.send-btn:disabled {
|
|
@@ -4380,7 +4395,7 @@ body.lattice-ref-graph {
|
|
|
4380
4395
|
gap: 5px;
|
|
4381
4396
|
padding: 2px 2px 0;
|
|
4382
4397
|
flex-wrap: wrap;
|
|
4383
|
-
border-top: 1px solid rgba(
|
|
4398
|
+
border-top: 1px solid rgba(111,66,232,0.10);
|
|
4384
4399
|
}
|
|
4385
4400
|
|
|
4386
4401
|
.file-toolbar-label {
|
|
@@ -4399,7 +4414,7 @@ body.lattice-ref-graph {
|
|
|
4399
4414
|
padding: 4px 10px;
|
|
4400
4415
|
border-radius: 6px;
|
|
4401
4416
|
border: 1px solid rgba(255,255,255,0.06);
|
|
4402
|
-
background: rgba(255,255,255,0.
|
|
4417
|
+
background: rgba(255,255,255,0.60);
|
|
4403
4418
|
color: var(--muted);
|
|
4404
4419
|
font-size: 11.5px;
|
|
4405
4420
|
font-weight: 600;
|
|
@@ -4408,9 +4423,9 @@ body.lattice-ref-graph {
|
|
|
4408
4423
|
}
|
|
4409
4424
|
|
|
4410
4425
|
.file-type-btn:hover {
|
|
4411
|
-
border-color: rgba(
|
|
4426
|
+
border-color: rgba(111,66,232,0.28);
|
|
4412
4427
|
color: var(--accent);
|
|
4413
|
-
background: rgba(
|
|
4428
|
+
background: rgba(111,66,232,0.07);
|
|
4414
4429
|
}
|
|
4415
4430
|
|
|
4416
4431
|
/* ── 멀티 LLM 파이프라인 ── */
|
|
@@ -4441,7 +4456,7 @@ body.lattice-ref-graph {
|
|
|
4441
4456
|
background: rgba(99,102,241,0.07); border: 1px solid rgba(99,102,241,0.2);
|
|
4442
4457
|
border-radius: 12px; padding: 16px; margin-top: 4px;
|
|
4443
4458
|
}
|
|
4444
|
-
.plan-approval-card h4 { margin: 0 0 10px; color: #
|
|
4459
|
+
.plan-approval-card h4 { margin: 0 0 10px; color: #6f42e8; font-size: 14px; }
|
|
4445
4460
|
.plan-approval-card ol { margin: 0 0 12px; padding-left: 20px; color: var(--text); font-size: 13px; line-height: 1.8; }
|
|
4446
4461
|
.plan-approval-card .plan-meta { font-size: 11px; color: var(--muted); margin-bottom: 12px; }
|
|
4447
4462
|
.plan-approval-actions { display: flex; gap: 8px; }
|
|
@@ -4557,7 +4572,7 @@ body.lattice-ref-graph {
|
|
|
4557
4572
|
padding: 24px;
|
|
4558
4573
|
max-width: 420px;
|
|
4559
4574
|
width: 90%;
|
|
4560
|
-
box-shadow: 0 24px 60px rgba(
|
|
4575
|
+
box-shadow: 0 24px 60px rgba(88,72,150,0.22);
|
|
4561
4576
|
}
|
|
4562
4577
|
|
|
4563
4578
|
.perm-icon {
|
|
@@ -4575,7 +4590,7 @@ body.lattice-ref-graph {
|
|
|
4575
4590
|
.perm-path {
|
|
4576
4591
|
font-family: monospace;
|
|
4577
4592
|
font-size: 12px;
|
|
4578
|
-
background: rgba(
|
|
4593
|
+
background: rgba(111,66,232,0.05);
|
|
4579
4594
|
border: 1px solid var(--border);
|
|
4580
4595
|
border-radius: 6px;
|
|
4581
4596
|
padding: 8px 10px;
|
|
@@ -4620,7 +4635,7 @@ body.lattice-ref-graph {
|
|
|
4620
4635
|
}
|
|
4621
4636
|
|
|
4622
4637
|
.perm-allow-btn:hover { background: rgba(48, 167, 137, 0.25); }
|
|
4623
|
-
.perm-deny-btn:hover { background: rgba(255,255,255,0.
|
|
4638
|
+
.perm-deny-btn:hover { background: rgba(255,255,255,0.60); }
|
|
4624
4639
|
|
|
4625
4640
|
.preview-bar {
|
|
4626
4641
|
display: flex;
|
|
@@ -4670,7 +4685,7 @@ body.lattice-ref-graph {
|
|
|
4670
4685
|
position: absolute;
|
|
4671
4686
|
inset: 0;
|
|
4672
4687
|
background:
|
|
4673
|
-
radial-gradient(ellipse 70% 60% at 20% 20%, rgba(
|
|
4688
|
+
radial-gradient(ellipse 70% 60% at 20% 20%, rgba(111,66,232,0.14) 0%, transparent 55%),
|
|
4674
4689
|
radial-gradient(ellipse 50% 50% at 80% 80%, rgba(129,140,248,0.12) 0%, transparent 55%);
|
|
4675
4690
|
pointer-events: none;
|
|
4676
4691
|
}
|
|
@@ -4684,7 +4699,7 @@ body.lattice-ref-graph {
|
|
|
4684
4699
|
.auth-orb-1 {
|
|
4685
4700
|
width: 400px; height: 400px;
|
|
4686
4701
|
top: -150px; left: -100px;
|
|
4687
|
-
background: rgba(
|
|
4702
|
+
background: rgba(111,66,232,0.14);
|
|
4688
4703
|
}
|
|
4689
4704
|
.auth-orb-2 {
|
|
4690
4705
|
width: 350px; height: 350px;
|
|
@@ -4698,7 +4713,7 @@ body.lattice-ref-graph {
|
|
|
4698
4713
|
border: 1px solid rgba(255,255,255,0.08);
|
|
4699
4714
|
border-radius: 20px;
|
|
4700
4715
|
padding: 36px 32px;
|
|
4701
|
-
box-shadow: var(--shadow), 0 0 0 1px rgba(
|
|
4716
|
+
box-shadow: var(--shadow), 0 0 0 1px rgba(111,66,232,0.05);
|
|
4702
4717
|
position: relative;
|
|
4703
4718
|
z-index: 1;
|
|
4704
4719
|
backdrop-filter: blur(24px);
|
|
@@ -4710,17 +4725,17 @@ body.lattice-ref-graph {
|
|
|
4710
4725
|
top: 0; left: 50%;
|
|
4711
4726
|
transform: translateX(-50%);
|
|
4712
4727
|
width: 60%; height: 1px;
|
|
4713
|
-
background: linear-gradient(90deg, transparent, rgba(
|
|
4728
|
+
background: linear-gradient(90deg, transparent, rgba(111,66,232,0.40), transparent);
|
|
4714
4729
|
}
|
|
4715
4730
|
|
|
4716
4731
|
.auth-logo {
|
|
4717
4732
|
width: 52px; height: 52px;
|
|
4718
|
-
background: linear-gradient(135deg, #
|
|
4733
|
+
background: linear-gradient(135deg, #6f42e8, #9a78f0);
|
|
4719
4734
|
border-radius: 14px;
|
|
4720
4735
|
display: flex; align-items: center; justify-content: center;
|
|
4721
|
-
font-size: 24px; color: #
|
|
4736
|
+
font-size: 24px; color: #fff;
|
|
4722
4737
|
margin: 0 auto 16px;
|
|
4723
|
-
box-shadow: 0 0 30px rgba(
|
|
4738
|
+
box-shadow: 0 0 30px rgba(111,66,232,0.24), 0 8px 24px rgba(88,72,150,0.16);
|
|
4724
4739
|
}
|
|
4725
4740
|
|
|
4726
4741
|
.auth-title {
|
|
@@ -4728,7 +4743,7 @@ body.lattice-ref-graph {
|
|
|
4728
4743
|
text-align: center;
|
|
4729
4744
|
font-size: 22px;
|
|
4730
4745
|
font-weight: 800;
|
|
4731
|
-
background: linear-gradient(135deg, #
|
|
4746
|
+
background: linear-gradient(135deg, #14162c 35%, #6f42e8 82%);
|
|
4732
4747
|
-webkit-background-clip: text;
|
|
4733
4748
|
-webkit-text-fill-color: transparent;
|
|
4734
4749
|
background-clip: text;
|
|
@@ -4745,7 +4760,7 @@ body.lattice-ref-graph {
|
|
|
4745
4760
|
width: 100%;
|
|
4746
4761
|
padding: 12px 14px;
|
|
4747
4762
|
margin-bottom: 10px;
|
|
4748
|
-
background: rgba(255,255,255,0.
|
|
4763
|
+
background: rgba(255,255,255,0.60);
|
|
4749
4764
|
border: 1px solid rgba(255,255,255,0.08);
|
|
4750
4765
|
color: var(--text);
|
|
4751
4766
|
border-radius: 10px;
|
|
@@ -4756,8 +4771,8 @@ body.lattice-ref-graph {
|
|
|
4756
4771
|
}
|
|
4757
4772
|
|
|
4758
4773
|
.auth-input:focus {
|
|
4759
|
-
border-color: rgba(
|
|
4760
|
-
box-shadow: 0 0 0 3px rgba(
|
|
4774
|
+
border-color: rgba(111,66,232,0.40);
|
|
4775
|
+
box-shadow: 0 0 0 3px rgba(111,66,232,0.08);
|
|
4761
4776
|
}
|
|
4762
4777
|
|
|
4763
4778
|
.auth-input::placeholder { color: var(--faint); }
|
|
@@ -4765,21 +4780,21 @@ body.lattice-ref-graph {
|
|
|
4765
4780
|
.auth-submit {
|
|
4766
4781
|
width: 100%;
|
|
4767
4782
|
padding: 13px;
|
|
4768
|
-
background: linear-gradient(135deg, #
|
|
4783
|
+
background: linear-gradient(135deg, #6f42e8, #5832c8);
|
|
4769
4784
|
color: #030d09;
|
|
4770
4785
|
border: none;
|
|
4771
4786
|
border-radius: 10px;
|
|
4772
4787
|
cursor: pointer;
|
|
4773
4788
|
font-weight: 800;
|
|
4774
4789
|
font-size: 14px;
|
|
4775
|
-
box-shadow: 0 0 20px rgba(
|
|
4790
|
+
box-shadow: 0 0 20px rgba(111,66,232,0.24), 0 4px 12px rgba(0,0,0,0.3);
|
|
4776
4791
|
transition: all .18s;
|
|
4777
4792
|
margin-top: 4px;
|
|
4778
4793
|
}
|
|
4779
4794
|
|
|
4780
4795
|
.auth-submit:hover {
|
|
4781
|
-
background: linear-gradient(135deg, #
|
|
4782
|
-
box-shadow: 0 0 30px rgba(
|
|
4796
|
+
background: linear-gradient(135deg, #6f42e8, #9a78f0);
|
|
4797
|
+
box-shadow: 0 0 30px rgba(111,66,232,0.32), 0 4px 14px rgba(0,0,0,0.3);
|
|
4783
4798
|
transform: translateY(-1px);
|
|
4784
4799
|
}
|
|
4785
4800
|
|
|
@@ -5191,7 +5206,7 @@ body.lattice-ref-graph {
|
|
|
5191
5206
|
padding: 10px 14px;
|
|
5192
5207
|
border-radius: 8px;
|
|
5193
5208
|
border: 1px solid var(--border);
|
|
5194
|
-
background: rgba(
|
|
5209
|
+
background: rgba(248,243,255,0.50);
|
|
5195
5210
|
margin-bottom: 16px;
|
|
5196
5211
|
font-size: 13px;
|
|
5197
5212
|
}
|
|
@@ -5214,7 +5229,7 @@ body.lattice-ref-graph {
|
|
|
5214
5229
|
border-radius: 8px;
|
|
5215
5230
|
padding: 14px;
|
|
5216
5231
|
margin-bottom: 12px;
|
|
5217
|
-
background: rgba(
|
|
5232
|
+
background: rgba(248,243,255,0.50);
|
|
5218
5233
|
}
|
|
5219
5234
|
|
|
5220
5235
|
.status-section-title {
|
|
@@ -5231,7 +5246,7 @@ body.lattice-ref-graph {
|
|
|
5231
5246
|
align-items: center;
|
|
5232
5247
|
gap: 10px;
|
|
5233
5248
|
padding: 6px 0;
|
|
5234
|
-
border-bottom: 1px solid rgba(
|
|
5249
|
+
border-bottom: 1px solid rgba(111,66,232,0.08);
|
|
5235
5250
|
font-size: 13px;
|
|
5236
5251
|
}
|
|
5237
5252
|
|
|
@@ -5350,7 +5365,7 @@ body.lattice-ref-graph {
|
|
|
5350
5365
|
justify-content: space-between;
|
|
5351
5366
|
gap: 12px;
|
|
5352
5367
|
padding: 11px 14px;
|
|
5353
|
-
border-bottom: 1px solid rgba(
|
|
5368
|
+
border-bottom: 1px solid rgba(111,66,232,0.08);
|
|
5354
5369
|
}
|
|
5355
5370
|
|
|
5356
5371
|
.mcp-dropdown-item:last-child {
|
|
@@ -5707,8 +5722,8 @@ body.lattice-ref-graph {
|
|
|
5707
5722
|
}
|
|
5708
5723
|
|
|
5709
5724
|
.empty-chip {
|
|
5710
|
-
border: 1px solid rgba(
|
|
5711
|
-
background: linear-gradient(135deg, rgba(
|
|
5725
|
+
border: 1px solid rgba(111,66,232,0.12);
|
|
5726
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.06), rgba(129,140,248,0.04));
|
|
5712
5727
|
border-radius: var(--radius);
|
|
5713
5728
|
padding: 14px;
|
|
5714
5729
|
font-size: 12.5px;
|
|
@@ -5717,11 +5732,11 @@ body.lattice-ref-graph {
|
|
|
5717
5732
|
color: var(--muted);
|
|
5718
5733
|
}
|
|
5719
5734
|
.empty-chip:hover {
|
|
5720
|
-
border-color: rgba(
|
|
5721
|
-
background: linear-gradient(135deg, rgba(
|
|
5735
|
+
border-color: rgba(111,66,232,0.24);
|
|
5736
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.10), rgba(129,140,248,0.07));
|
|
5722
5737
|
color: var(--text);
|
|
5723
5738
|
transform: translateY(-2px);
|
|
5724
|
-
box-shadow: 0 8px 24px rgba(
|
|
5739
|
+
box-shadow: 0 8px 24px rgba(111,66,232,0.10);
|
|
5725
5740
|
}
|
|
5726
5741
|
.empty-chip-icon {
|
|
5727
5742
|
font-size: 22px;
|
|
@@ -5811,7 +5826,7 @@ body.lattice-ref-graph {
|
|
|
5811
5826
|
transform: translateX(-100%);
|
|
5812
5827
|
transition: transform 0.25s cubic-bezier(0.4,0,0.2,1);
|
|
5813
5828
|
border-right: 1px solid var(--border-strong);
|
|
5814
|
-
box-shadow: 4px 0 32px rgba(
|
|
5829
|
+
box-shadow: 4px 0 32px rgba(88,72,150,0.18);
|
|
5815
5830
|
background: #141715;
|
|
5816
5831
|
backdrop-filter: none;
|
|
5817
5832
|
-webkit-backdrop-filter: none;
|
|
@@ -6170,13 +6185,13 @@ body.lattice-ref-graph {
|
|
|
6170
6185
|
}
|
|
6171
6186
|
.empty-icon {
|
|
6172
6187
|
width: 72px; height: 72px;
|
|
6173
|
-
background: linear-gradient(135deg, rgba(
|
|
6174
|
-
border: 1px solid rgba(
|
|
6188
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.14), rgba(129,140,248,0.12));
|
|
6189
|
+
border: 1px solid rgba(111,66,232,0.14);
|
|
6175
6190
|
border-radius: 20px;
|
|
6176
6191
|
display: flex; align-items: center; justify-content: center;
|
|
6177
6192
|
font-size: 32px;
|
|
6178
6193
|
color: var(--accent);
|
|
6179
|
-
box-shadow: 0 0 30px rgba(
|
|
6194
|
+
box-shadow: 0 0 30px rgba(111,66,232,0.12);
|
|
6180
6195
|
}
|
|
6181
6196
|
.empty-title {
|
|
6182
6197
|
font-size: 20px; font-weight: 800;
|
|
@@ -6190,18 +6205,18 @@ body.lattice-ref-graph {
|
|
|
6190
6205
|
|
|
6191
6206
|
/* ── 파일 다운로드 카드 개선 ── */
|
|
6192
6207
|
.file-download-card {
|
|
6193
|
-
border: 1px solid rgba(
|
|
6194
|
-
background: linear-gradient(135deg, rgba(
|
|
6208
|
+
border: 1px solid rgba(111,66,232,0.16) !important;
|
|
6209
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.07), rgba(129,140,248,0.04)) !important;
|
|
6195
6210
|
border-radius: var(--radius) !important;
|
|
6196
|
-
box-shadow: 0 4px 16px rgba(
|
|
6211
|
+
box-shadow: 0 4px 16px rgba(111,66,232,0.08) !important;
|
|
6197
6212
|
}
|
|
6198
6213
|
.file-dl-btn {
|
|
6199
|
-
background: linear-gradient(135deg, rgba(
|
|
6200
|
-
border-color: rgba(
|
|
6214
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.14), rgba(129,140,248,0.08)) !important;
|
|
6215
|
+
border-color: rgba(111,66,232,0.24) !important;
|
|
6201
6216
|
}
|
|
6202
6217
|
.file-dl-btn:hover {
|
|
6203
|
-
background: linear-gradient(135deg, rgba(
|
|
6204
|
-
box-shadow: 0 0 12px rgba(
|
|
6218
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.20), rgba(129,140,248,0.14)) !important;
|
|
6219
|
+
box-shadow: 0 0 12px rgba(111,66,232,0.16) !important;
|
|
6205
6220
|
}
|
|
6206
6221
|
|
|
6207
6222
|
/* ── setup wizard 버튼 ── */
|
|
@@ -6229,42 +6244,42 @@ body.lattice-ref-graph {
|
|
|
6229
6244
|
/* ── MCP 드롭다운 개선 ── */
|
|
6230
6245
|
.mcp-dropdown {
|
|
6231
6246
|
background: rgba(10,14,20,0.97) !important;
|
|
6232
|
-
border: 1px solid rgba(
|
|
6247
|
+
border: 1px solid rgba(111,66,232,0.14) !important;
|
|
6233
6248
|
border-radius: var(--radius) !important;
|
|
6234
|
-
box-shadow: var(--shadow), 0 0 20px rgba(
|
|
6249
|
+
box-shadow: var(--shadow), 0 0 20px rgba(111,66,232,0.08) !important;
|
|
6235
6250
|
}
|
|
6236
6251
|
.mcp-recommend-btn {
|
|
6237
|
-
background: linear-gradient(135deg, rgba(
|
|
6238
|
-
border: 1px solid rgba(
|
|
6252
|
+
background: linear-gradient(135deg, rgba(111,66,232,0.10), rgba(129,140,248,0.07)) !important;
|
|
6253
|
+
border: 1px solid rgba(111,66,232,0.16) !important;
|
|
6239
6254
|
border-radius: 999px !important;
|
|
6240
6255
|
color: var(--accent) !important;
|
|
6241
6256
|
}
|
|
6242
6257
|
|
|
6243
|
-
/*
|
|
6258
|
+
/* Lattice AI workspace — light lavender theme. */
|
|
6244
6259
|
.app-layout {
|
|
6245
|
-
--bg: #
|
|
6246
|
-
--surface: #
|
|
6247
|
-
--surface-2: #
|
|
6248
|
-
--surface-3: #
|
|
6249
|
-
--accent: #
|
|
6250
|
-
--accent-2: #
|
|
6251
|
-
--accent-3: #
|
|
6252
|
-
--accent-pink: #
|
|
6253
|
-
--accent-soft: rgba(
|
|
6254
|
-
--text: #
|
|
6255
|
-
--muted: #
|
|
6256
|
-
--faint: #
|
|
6257
|
-
--border: rgba(
|
|
6258
|
-
--border-strong: rgba(
|
|
6259
|
-
--shadow: 0
|
|
6260
|
-
--shadow-sm: 0
|
|
6261
|
-
--glow-green: 0 0 30px rgba(
|
|
6260
|
+
--bg: #f3ecff;
|
|
6261
|
+
--surface: #f6f0ff;
|
|
6262
|
+
--surface-2: #efe8ff;
|
|
6263
|
+
--surface-3: #e8dfff;
|
|
6264
|
+
--accent: #6f42e8;
|
|
6265
|
+
--accent-2: #8b6cff;
|
|
6266
|
+
--accent-3: #a78fff;
|
|
6267
|
+
--accent-pink: #c084fc;
|
|
6268
|
+
--accent-soft: rgba(111, 66, 232, 0.12);
|
|
6269
|
+
--text: #14162c;
|
|
6270
|
+
--muted: #4a4668;
|
|
6271
|
+
--faint: #7a74a0;
|
|
6272
|
+
--border: rgba(111, 66, 232, 0.14);
|
|
6273
|
+
--border-strong: rgba(111, 66, 232, 0.26);
|
|
6274
|
+
--shadow: 0 18px 54px rgba(88, 72, 150, 0.15);
|
|
6275
|
+
--shadow-sm: 0 6px 20px rgba(88, 72, 150, 0.10);
|
|
6276
|
+
--glow-green: 0 0 30px rgba(111, 66, 232, 0.14);
|
|
6262
6277
|
position: relative;
|
|
6263
6278
|
isolation: isolate;
|
|
6264
6279
|
background:
|
|
6265
|
-
radial-gradient(circle at
|
|
6266
|
-
|
|
6267
|
-
linear-gradient(
|
|
6280
|
+
radial-gradient(circle at 82% 12%, rgba(111,66,232,0.14), transparent 30%),
|
|
6281
|
+
radial-gradient(circle at 10% 80%, rgba(180,160,255,0.16), transparent 35%),
|
|
6282
|
+
linear-gradient(180deg, #f3ecff 0%, #efe8ff 52%, #f2ecff 100%);
|
|
6268
6283
|
}
|
|
6269
6284
|
|
|
6270
6285
|
.app-layout::before {
|
|
@@ -6274,12 +6289,12 @@ body.lattice-ref-graph {
|
|
|
6274
6289
|
z-index: -1;
|
|
6275
6290
|
pointer-events: none;
|
|
6276
6291
|
background:
|
|
6277
|
-
radial-gradient(circle, rgba(
|
|
6278
|
-
linear-gradient(rgba(
|
|
6279
|
-
linear-gradient(90deg, rgba(
|
|
6292
|
+
radial-gradient(circle, rgba(111,66,232,0.18) 1px, transparent 1.8px),
|
|
6293
|
+
linear-gradient(rgba(111,66,232,0.06) 1px, transparent 1px),
|
|
6294
|
+
linear-gradient(90deg, rgba(111,66,232,0.04) 1px, transparent 1px);
|
|
6280
6295
|
background-size: 76px 76px, 48px 48px, 48px 48px;
|
|
6281
6296
|
background-position: 18px 22px, 0 0, 0 0;
|
|
6282
|
-
mask-image: linear-gradient(180deg, rgba(0,0,0,0.
|
|
6297
|
+
mask-image: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.03));
|
|
6283
6298
|
}
|
|
6284
6299
|
|
|
6285
6300
|
.app-layout::after {
|
|
@@ -6494,9 +6509,9 @@ body.lattice-ref-graph {
|
|
|
6494
6509
|
}
|
|
6495
6510
|
|
|
6496
6511
|
.app-layout .send-btn {
|
|
6497
|
-
background: #
|
|
6498
|
-
color: #
|
|
6499
|
-
box-shadow: 0 8px 20px rgba(
|
|
6512
|
+
background: linear-gradient(135deg, #6f42e8, #7b61ff);
|
|
6513
|
+
color: #fff;
|
|
6514
|
+
box-shadow: 0 8px 20px rgba(111,66,232,0.24);
|
|
6500
6515
|
}
|
|
6501
6516
|
|
|
6502
6517
|
.app-layout .send-btn:hover {
|