@oracle-agent/oracle 0.35.49 → 0.35.51
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 +3 -2
- package/artifacts/specialist-packs/oracle-full-crypto.json +11 -0
- package/dist/agent-sessions.mjs +19 -19
- package/dist/artifacts/token-dashboard.mjs +1 -1
- package/dist/assets/profiles/near-agent/SOUL.md +46 -0
- package/dist/assets/profiles/near-agent/profile.json +30 -0
- package/dist/assets/profiles/oracle/SOUL.md +1 -0
- package/dist/assets/skills/oracle-desk-product/SKILL.md +1 -1
- package/dist/assets/skills/oracle-near/SKILL.md +66 -0
- package/dist/automation-plan.mjs +1 -1
- package/dist/bin/desk-server.mjs +33 -33
- package/dist/bin/oracle-data-mcp.mjs +16 -16
- package/dist/bin/oracle-gateway.mjs +3 -3
- package/dist/bin/oracle-launch-radar-shadow.mjs +3 -3
- package/dist/bin/oracle-mev-arb-shadow.mjs +4 -4
- package/dist/bin/oracle-mev-shadow.mjs +4 -4
- package/dist/bin/oracle-public-server.mjs +5 -5
- package/dist/bin/oracle-route.mjs +27 -27
- package/dist/bin/oracle-scan.mjs +3 -3
- package/dist/bin/oracle-telegram-mcp.mjs +1 -1
- package/dist/chains.mjs +1 -1
- package/dist/cli/commands/account.mjs +22 -22
- package/dist/cli/commands/agent-session.mjs +23 -23
- package/dist/cli/commands/auth.mjs +16 -15
- package/dist/cli/commands/chain.mjs +5 -5
- package/dist/cli/commands/chat.mjs +310 -228
- package/dist/cli/commands/data.mjs +37 -37
- package/dist/cli/commands/doctor.mjs +5 -5
- package/dist/cli/commands/eval.mjs +249 -167
- package/dist/cli/commands/farm.mjs +1 -1
- package/dist/cli/commands/follow.mjs +4 -4
- package/dist/cli/commands/harness.mjs +5 -5
- package/dist/cli/commands/mint.mjs +11 -11
- package/dist/cli/commands/model.mjs +313 -231
- package/dist/cli/commands/project.mjs +8 -7
- package/dist/cli/commands/quickstart.mjs +2 -2
- package/dist/cli/commands/receipt.mjs +2 -2
- package/dist/cli/commands/resolve.mjs +4 -4
- package/dist/cli/commands/session-vault.mjs +4 -4
- package/dist/cli/commands/setup.mjs +53 -52
- package/dist/cli/commands/snipe.mjs +13 -13
- package/dist/cli/commands/strategy.mjs +5 -5
- package/dist/cli/commands/swap.mjs +11 -11
- package/dist/cli/commands/telegram.mjs +7 -7
- package/dist/cli/commands/venues.mjs +1 -1
- package/dist/cli/project-access.mjs +4 -3
- package/dist/data/desk-data.mjs +31 -31
- package/dist/data/holder-table.mjs +2 -2
- package/dist/data/market-tape.mjs +1 -1
- package/dist/data/names.mjs +3 -3
- package/dist/data/providers/farming.mjs +2 -2
- package/dist/data/providers/lp-destination-discovery.mjs +4 -4
- package/dist/index.mjs +49 -49
- package/dist/launch-radar/index.mjs +5 -5
- package/dist/lp/index.mjs +4 -4
- package/dist/nft/universal-mint-router.mjs +4 -4
- package/dist/notifications/index.mjs +1 -1
- package/dist/router/index.mjs +3 -3
- package/dist/router/prepare-bridge.mjs +2 -2
- package/dist/router/prepare-route.mjs +3 -3
- package/dist/scanner/index.mjs +3 -3
- package/dist/strategy/index.mjs +4 -4
- package/dist/task.mjs +1 -1
- package/dist/teams/index.mjs +6 -6
- package/dist/telegram/chart-card.mjs +5 -5
- package/dist/telegram/market-commands.mjs +1 -1
- package/dist/tui/standalone-client.mjs +179 -97
- package/package.json +2 -2
- package/public/oracle-splash/assets/desktop-app.jpg +0 -0
- package/public/oracle-splash/docs/browser-and-web/index.html +2 -2
- package/public/oracle-splash/docs/connectors/index.html +2 -2
- package/public/oracle-splash/docs/getting-started/index.html +2 -2
- package/public/oracle-splash/docs/index.html +3 -3
- package/public/oracle-splash/docs/reference/index.html +2 -2
- package/public/oracle-splash/docs/security/index.html +2 -2
- package/public/oracle-splash/docs/using-oracle/index.html +2 -2
- package/public/oracle-splash/download/index.html +219 -5
- package/public/oracle-splash/downloads/index.html +1 -1
- package/public/oracle-splash/eval/index.html +19 -19
- package/public/oracle-splash/eval/releases/oracle-0.35.49.json +852 -0
- package/public/oracle-splash/index.html +262 -37
- package/public/oracle-splash/pricing/index.html +215 -1
- package/public/oracle-splash/security/index.html +215 -1
- package/public/oracle-splash/what-it-does/index.html +215 -1
- package/public/oracle-splash/where-it-works/index.html +215 -1
- package/server.json +2 -2
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<title>ORACLE | The control plane between AI and on-chain action</title>
|
|
7
7
|
<link rel="icon" href="favicon.svg" type="image/svg+xml">
|
|
8
8
|
<link rel="shortcut icon" href="favicon.ico">
|
|
9
|
-
<meta name="description" content="Oracle reads chain state, prices routes, and prepares unsigned transactions across
|
|
10
|
-
<meta name="theme-color" content="#
|
|
9
|
+
<meta name="description" content="Oracle reads chain state, prices routes, and prepares unsigned transactions across 17+ chains. Your wallet signs.">
|
|
10
|
+
<meta name="theme-color" content="#07090D" />
|
|
11
11
|
<meta name="robots" content="index,follow" />
|
|
12
12
|
<meta property="og:title" content="ORACLE | The all-in-one multichain agent">
|
|
13
13
|
<meta property="og:description" content="Trade, research, and build across Oracle's working chain surfaces, with extensible EVM support and self-custodial signing.">
|
|
@@ -1533,6 +1533,220 @@ footer{margin-top:clamp(64px,10vh,100px);border-top:1px solid var(--line);paddin
|
|
|
1533
1533
|
.chapter-tab{position:static}
|
|
1534
1534
|
.stack-meter i{transform:scaleX(1)}
|
|
1535
1535
|
}
|
|
1536
|
+
/* ── makeover layer: signal, then signature ─────────────────────────────
|
|
1537
|
+
One idea for the whole site: the page resolves from a wide quiet field (the
|
|
1538
|
+
orb, the big serif statement) to one precise line you can act on (the
|
|
1539
|
+
install command). Oversized light serif for statements, mono ledgers for
|
|
1540
|
+
facts, hairline rules instead of boxes, one ice accent used sparingly.
|
|
1541
|
+
Appended last so it wins by order; earlier rules stay for tests and for the
|
|
1542
|
+
focused pages that still use them. */
|
|
1543
|
+
:root{
|
|
1544
|
+
--bg:#07090D;
|
|
1545
|
+
--panel:#0C1017;
|
|
1546
|
+
--panel-2:#10151E;
|
|
1547
|
+
--ink:#EEF2F6;
|
|
1548
|
+
--cool:#B9C6D3;
|
|
1549
|
+
--mute:#7F8FA1;
|
|
1550
|
+
--line:rgba(185,210,235,.10);
|
|
1551
|
+
--line-2:rgba(185,210,235,.18);
|
|
1552
|
+
--bone:#E6E1D6;
|
|
1553
|
+
--mk-rule:rgba(185,210,235,.12);
|
|
1554
|
+
--mk-ease:cubic-bezier(.16,1,.3,1);
|
|
1555
|
+
--mk-measure:66ch;
|
|
1556
|
+
--mk-body:clamp(16.5px,.35vw + 15px,18.5px);
|
|
1557
|
+
--mk-h2:clamp(44px,5.4vw + 12px,104px);
|
|
1558
|
+
--mk-h3:clamp(24px,1.3vw + 18px,36px);
|
|
1559
|
+
--max:1280px;
|
|
1560
|
+
}
|
|
1561
|
+
html{background:var(--bg)}
|
|
1562
|
+
body{background:var(--bg);color:var(--ink);font-size:var(--mk-body)}
|
|
1563
|
+
.grain{opacity:.055}
|
|
1564
|
+
#gl{opacity:.22}
|
|
1565
|
+
.scroll-craft{opacity:.38}
|
|
1566
|
+
.craft-grid{opacity:.1}
|
|
1567
|
+
.craft-orbit{opacity:.5}
|
|
1568
|
+
|
|
1569
|
+
/* nav: solid, hairline, no frosted glass */
|
|
1570
|
+
.nav{background:rgba(7,9,13,.94);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-bottom:1px solid var(--mk-rule);padding-block:16px}
|
|
1571
|
+
.nav-links{font-size:13px;letter-spacing:.14em}
|
|
1572
|
+
.nav-links a.nav-download{background:var(--ink);color:#07090D;border-radius:2px;box-shadow:none}
|
|
1573
|
+
.nav-links a.nav-download:hover{background:var(--blue2);color:#07090D;box-shadow:none}
|
|
1574
|
+
.nav-chip{border-radius:2px}
|
|
1575
|
+
|
|
1576
|
+
/* type system */
|
|
1577
|
+
.section{max-width:var(--max);padding:clamp(88px,14vh,176px) var(--pad) 0}
|
|
1578
|
+
.section-label{font-size:11px;letter-spacing:.32em;color:var(--mute);margin-bottom:clamp(20px,2.4vw,32px)}
|
|
1579
|
+
.section-label::before{content:"";width:28px;height:1px;background:var(--blue);display:inline-block}
|
|
1580
|
+
.section-title{font-weight:300;font-size:var(--mk-h2);line-height:.94;letter-spacing:-.035em;max-width:14ch;margin-bottom:clamp(24px,3vw,40px);color:var(--bone)}
|
|
1581
|
+
.section-title em{font-weight:300;color:var(--blue2)}
|
|
1582
|
+
.section-lede{max-width:var(--mk-measure);font-size:var(--mk-body);line-height:1.62;color:var(--cool)}
|
|
1583
|
+
.section-more,.cmd-hint{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
|
|
1584
|
+
.section-more a,.cmd-hint a{color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:4px;transition:border-color .4s var(--mk-ease),color .4s var(--mk-ease)}
|
|
1585
|
+
.section-more a:hover,.cmd-hint a:hover{color:var(--blue2);border-bottom-color:var(--blue2)}
|
|
1586
|
+
|
|
1587
|
+
/* CTAs: square, confident, one filled */
|
|
1588
|
+
.enter-cta{border-radius:2px;box-shadow:none;background:none;border-color:var(--line-2);font-size:11.5px;letter-spacing:.2em;padding:16px 24px}
|
|
1589
|
+
.enter-cta::after{content:"→"}
|
|
1590
|
+
.enter-cta:hover{box-shadow:none;border-color:var(--ink);transform:none}
|
|
1591
|
+
.enter-cta.primary{background:var(--ink);color:#07090D}
|
|
1592
|
+
.enter-cta.primary:hover{background:var(--blue2);box-shadow:none}
|
|
1593
|
+
|
|
1594
|
+
/* ── home hero ── */
|
|
1595
|
+
.home{min-height:0;display:block;padding:clamp(28px,6vh,72px) var(--pad) 0;overflow:hidden;overflow:clip;overflow-clip-margin:0}
|
|
1596
|
+
.home::after{display:none}
|
|
1597
|
+
.home-inner{max-width:calc(var(--max) - 2 * var(--pad))}
|
|
1598
|
+
.hero-split{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:0;align-items:end}
|
|
1599
|
+
.hero-lede{--hero-measure:min(100%,820px);position:relative;z-index:3;padding-bottom:clamp(8px,2vw,24px)}
|
|
1600
|
+
.home-kicker{font-size:11px;letter-spacing:.32em;color:var(--mute)}
|
|
1601
|
+
.hero-split .home-title{font-weight:300;font-size:clamp(52px,6.6vw + 8px,124px);line-height:.9;letter-spacing:-.045em;color:var(--bone);text-shadow:none}
|
|
1602
|
+
.hero-split .home-title em{color:var(--blue2)}
|
|
1603
|
+
.hero-sub{font-size:var(--mk-body);line-height:1.62;max-width:56ch;color:var(--cool);text-shadow:none;margin-top:clamp(22px,2.6vw,34px)}
|
|
1604
|
+
.hero-product{margin-left:clamp(-160px,-9vw,-40px);overflow:visible}
|
|
1605
|
+
.hero-product figcaption{font-size:10.5px;letter-spacing:.3em;color:var(--mute)}
|
|
1606
|
+
.hero-note-line{letter-spacing:.2em}
|
|
1607
|
+
|
|
1608
|
+
/* the ridge field fades out above the installer instead of running through it */
|
|
1609
|
+
.hero-ridge{top:34%;height:clamp(200px,34vh,380px);opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,#000 55%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
|
|
1610
|
+
|
|
1611
|
+
/* installer: a terminal line, not a card */
|
|
1612
|
+
.hero-installer{position:relative;z-index:3;max-width:none;margin-top:clamp(48px,6vw,88px);border:0;border-top:1px solid var(--mk-rule);border-radius:0;background:var(--bg);box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(20px,3vw,48px)}
|
|
1613
|
+
.hero-install-tabs{border-bottom:0;padding:0;grid-column:1/-1}
|
|
1614
|
+
.hero-install-tab{border-radius:0}
|
|
1615
|
+
.hero-install-panel{grid-column:1;padding:18px 0 20px;min-width:0}
|
|
1616
|
+
.hero-install-command{background:none;border:0;padding:0;justify-content:flex-start;gap:clamp(16px,2vw,32px)}
|
|
1617
|
+
.hero-install-command code{font-size:clamp(14px,1vw + 8px,22px);color:var(--ink)}
|
|
1618
|
+
.hero-install-command code::before{content:"$ ";color:var(--blue)}
|
|
1619
|
+
.hero-install-meta{display:none}
|
|
1620
|
+
.hero-installer .os-dl{margin:0;gap:0;grid-column:2;grid-row:2;align-self:center}
|
|
1621
|
+
.os-dl{gap:0}
|
|
1622
|
+
.os-link{border-radius:0;border:0;border-left:1px solid var(--mk-rule);padding:12px 18px;color:var(--cool);font-size:11px;letter-spacing:.16em;transition:color .35s var(--mk-ease)}
|
|
1623
|
+
.os-link:first-child{border-left:0}
|
|
1624
|
+
.os-link:hover{color:var(--blue2)}
|
|
1625
|
+
.os-link::after{content:" ↓";color:var(--blue)}
|
|
1626
|
+
|
|
1627
|
+
/* stats: a ledger row, figures in the display face */
|
|
1628
|
+
.home-stats{margin:0;border:0;border-top:1px solid var(--mk-rule);border-bottom:1px solid var(--mk-rule);border-radius:0;padding-top:0;gap:0;background:var(--bg);box-shadow:none;overflow:visible}
|
|
1629
|
+
.home-stat{background:none;border-left:1px solid var(--mk-rule);padding:clamp(22px,2.6vw,36px) clamp(16px,2vw,28px);min-height:0}
|
|
1630
|
+
.home-stat:first-child{border-left:0;padding-left:0}
|
|
1631
|
+
.home-stat b{font-weight:300;font-size:clamp(40px,3.4vw + 10px,76px);letter-spacing:-.04em;color:var(--bone)}
|
|
1632
|
+
.home-stat span{font-size:10.5px;letter-spacing:.2em;margin-top:12px}
|
|
1633
|
+
|
|
1634
|
+
/* ── steps: an editorial ledger ── */
|
|
1635
|
+
#steps .steps-grid{grid-template-columns:1fr;gap:0;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--mk-rule)}
|
|
1636
|
+
#steps .step-card{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr) minmax(0,1.5fr);column-gap:clamp(20px,3vw,56px);align-items:baseline;padding:clamp(24px,3vw,40px) 0;border-top:0;border-bottom:1px solid var(--mk-rule);transition:background .5s var(--mk-ease)}
|
|
1637
|
+
#steps .step-card:hover{background:linear-gradient(90deg,rgba(159,211,255,.035),transparent 70%)}
|
|
1638
|
+
#steps .step-card .n{font-size:11px;letter-spacing:.26em;color:var(--mute);margin:0}
|
|
1639
|
+
#steps .step-card h3{font-family:var(--display);font-weight:300;font-size:var(--mk-h3);line-height:1.05;letter-spacing:-.02em;color:var(--bone);margin:0}
|
|
1640
|
+
#steps .step-card p{font-size:var(--mk-body);line-height:1.6;color:var(--cool);max-width:52ch}
|
|
1641
|
+
#steps .step-card:last-child h3{color:var(--blue2);font-style:italic}
|
|
1642
|
+
|
|
1643
|
+
/* ── reach ── */
|
|
1644
|
+
.mk-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,6vw,120px);align-items:end}
|
|
1645
|
+
.mk-split > .mk-head{grid-column:1}
|
|
1646
|
+
.mk-split > .mk-aside{grid-column:2;padding-bottom:clamp(8px,1vw,16px)}
|
|
1647
|
+
.mk-split > .mk-full{grid-column:1/-1}
|
|
1648
|
+
#reach .venues{margin-top:clamp(40px,5vw,72px);border:0;border-top:1px solid var(--mk-rule);border-bottom:1px solid var(--mk-rule);border-radius:0;background:none}
|
|
1649
|
+
#reach .venues-head{padding:14px 0;border-bottom:1px solid var(--mk-rule);letter-spacing:.24em}
|
|
1650
|
+
#reach .marquee{padding-block:6px}
|
|
1651
|
+
#reach .chip{background:none;border-color:transparent}
|
|
1652
|
+
.reach-cols{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,96px);margin-top:clamp(40px,5vw,72px)}
|
|
1653
|
+
.reach-cols .venues-head{padding:0 0 14px;border-bottom:1px solid var(--mk-rule);font-size:11px;letter-spacing:.26em;color:var(--mute);background:none}
|
|
1654
|
+
.reach-cols > div{min-width:0}
|
|
1655
|
+
.mk-index{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;row-gap:.12em;margin-top:18px;font-family:var(--display);font-weight:300;font-size:clamp(22px,1vw + 16px,32px);line-height:1.3;letter-spacing:-.015em;color:var(--bone)}
|
|
1656
|
+
.mk-index li{display:block;white-space:nowrap}
|
|
1657
|
+
.mk-index li:not(:last-child)::after{content:"/";margin:0 .32em 0 .38em;color:var(--blue-dim);font-style:normal}
|
|
1658
|
+
.mk-index li i{font-family:var(--mono);font-style:normal;font-size:.38em;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);vertical-align:.5em;margin-left:.3em}
|
|
1659
|
+
.mk-index li.mk-open{color:var(--blue2);font-style:italic}
|
|
1660
|
+
|
|
1661
|
+
/* ── custody and cost: two statements, not two boxes ── */
|
|
1662
|
+
#explore .moat-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:none;border:0;border-radius:0;overflow:visible;border-top:1px solid var(--mk-rule);border-bottom:1px solid var(--mk-rule);margin-top:clamp(40px,5vw,72px)}
|
|
1663
|
+
#explore .moat-card{background:none;border:0;border-radius:0;min-height:0;padding:clamp(32px,4vw,64px) clamp(0px,3vw,56px) clamp(32px,4vw,56px) 0;display:flex;flex-direction:column;gap:18px;transition:background .5s var(--mk-ease)}
|
|
1664
|
+
#explore .moat-card + .moat-card{border-left:1px solid var(--mk-rule);padding-left:clamp(24px,4vw,64px)}
|
|
1665
|
+
#explore .moat-card:hover{background:linear-gradient(180deg,rgba(159,211,255,.04),transparent 80%)}
|
|
1666
|
+
#explore .moat-card .n{color:var(--mute);letter-spacing:.26em}
|
|
1667
|
+
#explore .moat-card h3{font-weight:300;font-size:clamp(34px,2.6vw + 14px,64px);line-height:.98;letter-spacing:-.035em;color:var(--bone)}
|
|
1668
|
+
#explore .moat-card p{font-size:var(--mk-body);line-height:1.6;max-width:44ch}
|
|
1669
|
+
.mk-go{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue2)}
|
|
1670
|
+
.mk-go::after{content:" →";transition:margin .4s var(--mk-ease)}
|
|
1671
|
+
.moat-card:hover .mk-go::after{margin-left:6px}
|
|
1672
|
+
|
|
1673
|
+
/* ── cli: the single line ── */
|
|
1674
|
+
.cli-section .cli-install{margin:clamp(8px,1vw,16px) 0 clamp(28px,3vw,44px)}
|
|
1675
|
+
.cli-install-cmd{border:0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);border-radius:0;background:none;padding:clamp(20px,2.4vw,32px) 0;width:100%;max-width:none}
|
|
1676
|
+
.cli-install-cmd code{font-size:clamp(16px,1.6vw + 6px,34px);letter-spacing:-.01em;color:var(--ink)}
|
|
1677
|
+
.cli-install-cmd code::before{content:"$ ";color:var(--blue)}
|
|
1678
|
+
.cli-install-hint{margin-top:14px;letter-spacing:.2em}
|
|
1679
|
+
.convert-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(28px,4vw,72px);margin-top:clamp(40px,5vw,72px);align-items:start}
|
|
1680
|
+
.cli-frame{border-radius:2px;border-color:var(--mk-rule);box-shadow:0 40px 120px rgba(0,0,0,.55)}
|
|
1681
|
+
.cli-cap{letter-spacing:.24em;margin-top:14px}
|
|
1682
|
+
.convert-copy p{font-size:var(--mk-body);line-height:1.62}
|
|
1683
|
+
.convert-pills{display:block;margin-top:8px;border-top:1px solid var(--mk-rule)}
|
|
1684
|
+
.convert-pills span{display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--mk-rule);border-radius:0;padding:13px 0;background:none;color:var(--cool);font-size:11px;letter-spacing:.2em}
|
|
1685
|
+
.convert-pills span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.7}
|
|
1686
|
+
|
|
1687
|
+
/* desktop app: image left, copy and downloads beside it */
|
|
1688
|
+
.mk-desk{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);gap:clamp(28px,4vw,72px);align-items:end;margin-top:clamp(96px,12vw,176px);padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--mk-rule)}
|
|
1689
|
+
.mk-desk .app-shot{margin:0;grid-column:1;grid-row:1/3}
|
|
1690
|
+
.mk-desk .app-shot img{border-radius:2px;border-color:var(--mk-rule);box-shadow:0 40px 120px rgba(0,0,0,.6)}
|
|
1691
|
+
.mk-desk .app-shot-title{grid-column:2;margin:0;font-size:clamp(40px,3.2vw + 12px,76px);max-width:9ch}
|
|
1692
|
+
.mk-desk .app-shot-title sup{font-family:var(--mono);font-size:11px!important;letter-spacing:.22em;text-transform:uppercase;vertical-align:1.6em;margin-left:.3em}
|
|
1693
|
+
.mk-desk .mk-desk-copy{grid-column:2;display:flex;flex-direction:column;gap:22px}
|
|
1694
|
+
.mk-desk .mk-desk-copy p{color:var(--cool);font-size:var(--mk-body);line-height:1.6}
|
|
1695
|
+
.mk-desk .os-dl{flex-direction:column;margin:0;border-top:1px solid var(--mk-rule)}
|
|
1696
|
+
.mk-desk .os-link{border-left:0;border-bottom:1px solid var(--mk-rule);padding:15px 0;display:flex;justify-content:space-between}
|
|
1697
|
+
|
|
1698
|
+
/* footer */
|
|
1699
|
+
footer{margin-top:clamp(120px,16vw,220px);border-top:1px solid var(--mk-rule);padding-block:36px 44px}
|
|
1700
|
+
|
|
1701
|
+
/* focused pages inherit the same voice */
|
|
1702
|
+
.moat-grid{border-radius:2px}
|
|
1703
|
+
.moat-grid .moat-card{border-radius:0;background:rgba(12,16,23,.6);border-color:var(--mk-rule)}
|
|
1704
|
+
.moat-card h3{font-weight:300;letter-spacing:-.02em;color:var(--bone)}
|
|
1705
|
+
.surface-keep-card,.chain{border-radius:2px}
|
|
1706
|
+
|
|
1707
|
+
@media (max-width:1100px){
|
|
1708
|
+
.hero-split{grid-template-columns:1fr}
|
|
1709
|
+
.hero-product{margin:clamp(-40px,-4vw,-16px) auto 0;max-width:520px}
|
|
1710
|
+
.hero-installer{grid-template-columns:1fr}
|
|
1711
|
+
.hero-installer .os-dl{grid-column:1;grid-row:auto;margin-bottom:14px}
|
|
1712
|
+
.mk-split{grid-template-columns:1fr}
|
|
1713
|
+
.mk-split > .mk-aside{grid-column:1;margin-top:8px}
|
|
1714
|
+
.mk-desk{grid-template-columns:1fr}
|
|
1715
|
+
.mk-desk .app-shot,.mk-desk .app-shot-title,.mk-desk .mk-desk-copy{grid-column:1;grid-row:auto}
|
|
1716
|
+
.mk-desk .app-shot-title{max-width:none}
|
|
1717
|
+
.convert-grid{grid-template-columns:1fr}
|
|
1718
|
+
}
|
|
1719
|
+
@media (max-width:860px){
|
|
1720
|
+
#steps .step-card{grid-template-columns:1fr;row-gap:10px}
|
|
1721
|
+
.reach-cols{grid-template-columns:1fr}
|
|
1722
|
+
#explore .moat-grid{grid-template-columns:1fr}
|
|
1723
|
+
#explore .moat-card{padding-right:0}
|
|
1724
|
+
#explore .moat-card + .moat-card{border-left:0;border-top:1px solid var(--mk-rule);padding-left:0}
|
|
1725
|
+
}
|
|
1726
|
+
@media (max-width:620px){
|
|
1727
|
+
.section{padding-top:clamp(72px,12vh,112px)}
|
|
1728
|
+
.hero-split .home-title{font-size:clamp(44px,12.5vw,64px)}
|
|
1729
|
+
.home-stat{padding:20px 14px}
|
|
1730
|
+
.home-stat:nth-child(odd){border-left:0;padding-left:0}
|
|
1731
|
+
.home-stat:nth-child(n+3){border-top:1px solid var(--mk-rule)}
|
|
1732
|
+
.hero-installer .os-dl,.os-dl{flex-direction:column;width:100%}
|
|
1733
|
+
.os-link{border-left:0;border-bottom:1px solid var(--mk-rule);padding:14px 0}
|
|
1734
|
+
.cli-install-cmd code{white-space:normal;overflow-wrap:anywhere}
|
|
1735
|
+
.enter-cta{max-width:none}
|
|
1736
|
+
}
|
|
1737
|
+
@media (max-width:560px){
|
|
1738
|
+
.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
1739
|
+
.home-stat{padding:20px 0 20px 16px}
|
|
1740
|
+
.home-stat:nth-child(odd){padding-left:0}
|
|
1741
|
+
.home-stat b{font-size:clamp(34px,10vw,44px)}
|
|
1742
|
+
.hero-install-command{flex-direction:column;align-items:flex-start;gap:10px}
|
|
1743
|
+
.hero-install-command code{white-space:normal;overflow-wrap:anywhere;font-size:15px}
|
|
1744
|
+
.hero-kicker,.home-kicker{letter-spacing:.24em}
|
|
1745
|
+
}
|
|
1746
|
+
@media (prefers-reduced-motion:reduce){
|
|
1747
|
+
#steps .step-card,#explore .moat-card,.mk-go::after{transition:none}
|
|
1748
|
+
}
|
|
1749
|
+
/* ── end makeover layer ── */
|
|
1536
1750
|
</style>
|
|
1537
1751
|
</head>
|
|
1538
1752
|
<body>
|
|
@@ -1606,8 +1820,8 @@ footer{margin-top:clamp(64px,10vh,100px);border-top:1px solid var(--line);paddin
|
|
|
1606
1820
|
<div class="hero-split">
|
|
1607
1821
|
<div class="hero-lede">
|
|
1608
1822
|
<p class="home-kicker rv">control plane between AI and on-chain action</p>
|
|
1609
|
-
<h1 class="home-title rv" data-split>Trade, build, mint, scan across <em>
|
|
1610
|
-
<p class="hero-sub rv">Agents prepare. You authorize and sign. Oracle is the control plane between AI and on-chain action across
|
|
1823
|
+
<h1 class="home-title rv" data-split>Trade, build, mint, scan across <em>17+</em> chains</h1>
|
|
1824
|
+
<p class="hero-sub rv">Agents prepare. You authorize and sign. Oracle is the control plane between AI and on-chain action across 17+ chains, inside any MCP client. Public routing stays unsigned. Self-hosted execution stays local, owner-gated, bounded, and receipt-verified.</p>
|
|
1611
1825
|
<div class="home-actions">
|
|
1612
1826
|
<a class="enter-cta primary" href="/download/">Download desktop</a>
|
|
1613
1827
|
<a class="enter-cta ghost" href="/what-it-does/">How Oracle works</a>
|
|
@@ -1656,25 +1870,30 @@ footer{margin-top:clamp(64px,10vh,100px);border-top:1px solid var(--line);paddin
|
|
|
1656
1870
|
<div class="hero-install-meta"><span>Windows · CLI</span></div>
|
|
1657
1871
|
</div>
|
|
1658
1872
|
<div class="os-dl">
|
|
1659
|
-
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.
|
|
1660
|
-
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.
|
|
1661
|
-
<a class="os-link" href="/downloads/artifacts/Oracle-Setup-0.4.
|
|
1873
|
+
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.25.AppImage">Linux AppImage</a>
|
|
1874
|
+
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.25-arm64.dmg">macOS DMG</a>
|
|
1875
|
+
<a class="os-link" href="/downloads/artifacts/Oracle-Setup-0.4.25.exe">Windows Setup</a>
|
|
1662
1876
|
</div>
|
|
1663
1877
|
</div>
|
|
1664
1878
|
|
|
1665
1879
|
<div class="home-stats rv" aria-label="Oracle surface metrics">
|
|
1666
1880
|
<div class="home-stat"><b id="hero-protocol-count" data-count="221">221</b><span>protocols / venues wired</span></div>
|
|
1667
|
-
<div class="home-stat"><b id="hero-provider-count" data-count="
|
|
1668
|
-
<div class="home-stat"><b id="hero-op-count" data-count="
|
|
1669
|
-
<div class="home-stat"><b id="hero-chain-count">
|
|
1881
|
+
<div class="home-stat"><b id="hero-provider-count" data-count="139">139</b><span>data providers</span></div>
|
|
1882
|
+
<div class="home-stat"><b id="hero-op-count" data-count="610">610</b><span>data operations</span></div>
|
|
1883
|
+
<div class="home-stat"><b id="hero-chain-count">17 + EVM</b><span>working chain / venue surfaces</span></div>
|
|
1670
1884
|
</div>
|
|
1671
1885
|
</div>
|
|
1672
1886
|
</section>
|
|
1673
|
-
<section class="section" id="steps">
|
|
1887
|
+
<section class="section mk-split" id="steps">
|
|
1888
|
+
<div class="mk-head">
|
|
1674
1889
|
<p class="section-label rv">What it does</p>
|
|
1675
1890
|
<h2 class="section-title rv" data-split>Five steps. <em>You sign the last one.</em></h2>
|
|
1891
|
+
</div>
|
|
1892
|
+
<div class="mk-aside">
|
|
1676
1893
|
<p class="section-lede rv">Your agent proposes. Oracle checks it against policy you set locally, then hands your wallet something you can read before it exists.</p>
|
|
1677
|
-
<
|
|
1894
|
+
<p class="cmd-hint rv section-more"><a href="/what-it-does/">See the full sequence, step by step →</a></p>
|
|
1895
|
+
</div>
|
|
1896
|
+
<div class="steps-grid rv mk-full">
|
|
1678
1897
|
<article class="step-card">
|
|
1679
1898
|
<div class="n">01 · read</div>
|
|
1680
1899
|
<h3>State before opinion</h3>
|
|
@@ -1701,53 +1920,54 @@ footer{margin-top:clamp(64px,10vh,100px);border-top:1px solid var(--line);paddin
|
|
|
1701
1920
|
<p>Public routing stops at prepare. Self-hosted signing and broadcast stay local, owner-gated, bounded, and receipt-verified.</p>
|
|
1702
1921
|
</article>
|
|
1703
1922
|
</div>
|
|
1704
|
-
<p class="cmd-hint rv section-more"><a href="/what-it-does/">See the full sequence, step by step →</a></p>
|
|
1705
1923
|
</section>
|
|
1706
1924
|
|
|
1707
|
-
<section class="section" id="reach">
|
|
1925
|
+
<section class="section mk-split" id="reach">
|
|
1926
|
+
<div class="mk-head">
|
|
1708
1927
|
<p class="section-label rv">Where it works</p>
|
|
1709
1928
|
<h2 class="section-title rv" data-split>Your agent. <em>Your chains.</em></h2>
|
|
1710
|
-
|
|
1711
|
-
<div class="
|
|
1929
|
+
</div>
|
|
1930
|
+
<div class="mk-aside">
|
|
1931
|
+
<p class="section-lede rv">Oracle installs into any MCP client and operates across 17+ chains and venues. Register any extra EVM chain with a chain id and an RPC.</p>
|
|
1932
|
+
<p class="cmd-hint rv section-more"><a href="/where-it-works/">Every chain and what Oracle can do on it →</a></p>
|
|
1933
|
+
</div>
|
|
1934
|
+
<div class="venues rv mk-full" id="protocol-marquee" aria-label="Supported protocols and venues">
|
|
1712
1935
|
<div class="venues-head"><span>protocol surface</span><b>221 protocols and venues</b></div>
|
|
1713
1936
|
<div class="marquee"><div class="track" id="proto-track-a"></div></div>
|
|
1714
1937
|
<div class="marquee rev"><div class="track" id="proto-track-b"></div></div>
|
|
1715
1938
|
</div>
|
|
1716
|
-
<div class="reach-cols rv">
|
|
1939
|
+
<div class="reach-cols rv mk-full">
|
|
1717
1940
|
<div>
|
|
1718
1941
|
<div class="venues-head"><span>clients</span></div>
|
|
1719
|
-
<
|
|
1720
|
-
<span>Claude</span><span>ChatGPT</span><span>Cursor</span><span>Codex</span>
|
|
1721
|
-
<span>VS Code</span><span>Copilot</span><span>Telegram</span><span>Discord</span>
|
|
1722
|
-
<span>WhatsApp</span><span>Signal</span><span>Any MCP client</span>
|
|
1723
|
-
</div>
|
|
1942
|
+
<ul class="mk-index"><li>Claude</li><li>ChatGPT</li><li>Cursor</li><li>Codex</li><li>VS Code</li><li>Copilot</li><li>Telegram</li><li>Discord</li><li>WhatsApp</li><li>Signal</li><li class="mk-open">any MCP client</li></ul>
|
|
1724
1943
|
</div>
|
|
1725
1944
|
<div>
|
|
1726
1945
|
<div class="venues-head"><span>chains and venues</span></div>
|
|
1727
|
-
<
|
|
1728
|
-
<span>Ethereum</span><span>Solana</span><span>Bitcoin</span><span>Hyperliquid</span>
|
|
1729
|
-
<span>Base</span><span>Arbitrum</span><span>Optimism</span><span>Polygon</span>
|
|
1730
|
-
<span>BNB Chain</span><span>Avalanche</span><span>HyperEVM</span><span>Polymarket</span>
|
|
1731
|
-
<span>Robinhood</span><span>Stable</span><span>Abstract</span><span>+ any EVM</span>
|
|
1732
|
-
</div>
|
|
1946
|
+
<ul class="mk-index"><li>Ethereum</li><li>Solana</li><li>Bitcoin</li><li>Hyperliquid</li><li>Base</li><li>Arbitrum</li><li>Optimism</li><li>Polygon</li><li>BNB Chain</li><li>Avalanche</li><li>HyperEVM</li><li>Polymarket</li><li>Robinhood</li><li>Stable</li><li>Abstract</li><li>NEAR<i>read</i></li><li>Elysium<i>read</i></li><li class="mk-open">any EVM</li></ul>
|
|
1733
1947
|
</div>
|
|
1734
1948
|
</div>
|
|
1735
|
-
<p class="cmd-hint rv section-more"><a href="/where-it-works/">Every chain and what Oracle can do on it →</a></p>
|
|
1736
1949
|
</section>
|
|
1737
1950
|
|
|
1738
|
-
<section class="section" id="explore">
|
|
1951
|
+
<section class="section mk-split" id="explore">
|
|
1952
|
+
<div class="mk-head">
|
|
1739
1953
|
<p class="section-label rv">Security + pricing</p>
|
|
1740
|
-
<h2 class="section-title rv" data-split>Custody and cost.</h2>
|
|
1741
|
-
|
|
1954
|
+
<h2 class="section-title rv" data-split>Custody and <em>cost.</em></h2>
|
|
1955
|
+
</div>
|
|
1956
|
+
<div class="mk-aside">
|
|
1957
|
+
<p class="section-lede rv">Two questions every wallet tool has to answer plainly: who can move the money, and what it costs you to use it.</p>
|
|
1958
|
+
</div>
|
|
1959
|
+
<div class="moat-grid rv mk-full">
|
|
1742
1960
|
<a class="moat-card" href="/security/">
|
|
1743
1961
|
<div class="n">security</div>
|
|
1744
1962
|
<h3>The wallet stays yours</h3>
|
|
1745
1963
|
<p>Public Oracle never holds signing keys. Self-hosted vaults stay on your machine, with capped, expiring permissions and exact owner authorization.</p>
|
|
1964
|
+
<span class="mk-go">Security model</span>
|
|
1746
1965
|
</a>
|
|
1747
1966
|
<a class="moat-card" href="/pricing/">
|
|
1748
1967
|
<div class="n">pricing</div>
|
|
1749
1968
|
<h3>5 bps. Holders zero.</h3>
|
|
1750
1969
|
<p>Free to install and run. You pay only on routed swaps, and Locals Only holders pay nothing.</p>
|
|
1970
|
+
<span class="mk-go">Pricing</span>
|
|
1751
1971
|
</a>
|
|
1752
1972
|
</div>
|
|
1753
1973
|
</section>
|
|
@@ -1777,16 +1997,21 @@ footer{margin-top:clamp(64px,10vh,100px);border-top:1px solid var(--line);paddin
|
|
|
1777
1997
|
</div>
|
|
1778
1998
|
</div>
|
|
1779
1999
|
</div>
|
|
1780
|
-
|
|
2000
|
+
<div class="mk-desk rv">
|
|
1781
2001
|
<figure class="app-shot">
|
|
1782
|
-
<img src="assets/desktop-app.jpg?v=
|
|
2002
|
+
<img src="assets/desktop-app.jpg?v=20260928" width="1280" height="800" loading="lazy" decoding="async" alt="Oracle desktop setup: connect Claude, Codex or Grok, local llama.cpp or Ollama, then pick model and chain.">
|
|
1783
2003
|
<figcaption>Native desktop. Connect a provider, then chat.</figcaption>
|
|
1784
2004
|
</figure>
|
|
2005
|
+
<h2 class="section-title app-shot-title">Oracle Desktop App <sup style="font-size:14px;color:var(--blue);font-weight:400">beta</sup></h2>
|
|
2006
|
+
<div class="mk-desk-copy">
|
|
2007
|
+
<p>The same Oracle as a native app for macOS, Windows and Linux. Connect the model you already pay for, pick a chain, and chat. Your wallet signs by default.</p>
|
|
1785
2008
|
<div class="os-dl">
|
|
1786
|
-
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.
|
|
1787
|
-
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.
|
|
1788
|
-
<a class="os-link" href="/downloads/artifacts/Oracle-Setup-0.4.
|
|
2009
|
+
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.25.AppImage">Linux AppImage</a>
|
|
2010
|
+
<a class="os-link" href="/downloads/artifacts/Oracle-0.4.25-arm64.dmg">macOS DMG</a>
|
|
2011
|
+
<a class="os-link" href="/downloads/artifacts/Oracle-Setup-0.4.25.exe">Windows Setup</a>
|
|
1789
2012
|
</div>
|
|
2013
|
+
</div>
|
|
2014
|
+
</div>
|
|
1790
2015
|
</section>
|
|
1791
2016
|
</main>
|
|
1792
2017
|
<script>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="icon" href="../favicon.svg" type="image/svg+xml">
|
|
8
8
|
<link rel="shortcut icon" href="../favicon.ico">
|
|
9
9
|
<meta name="description" content="5 basis points on fee-bearing routed swaps. Zero Oracle routing fee for Locals Only NFT holders. No seat or subscription fee.">
|
|
10
|
-
<meta name="theme-color" content="#
|
|
10
|
+
<meta name="theme-color" content="#07090D" />
|
|
11
11
|
<meta name="robots" content="index,follow" />
|
|
12
12
|
<meta property="og:title" content="ORACLE | The all-in-one multichain agent">
|
|
13
13
|
<meta property="og:description" content="Trade, research, and build across Oracle's working chain surfaces, with extensible EVM support and self-custodial signing.">
|
|
@@ -1531,6 +1531,220 @@ footer{margin-top:clamp(64px,10vh,100px);border-top:1px solid var(--line);paddin
|
|
|
1531
1531
|
.chapter-tab{position:static}
|
|
1532
1532
|
.stack-meter i{transform:scaleX(1)}
|
|
1533
1533
|
}
|
|
1534
|
+
/* ── makeover layer: signal, then signature ─────────────────────────────
|
|
1535
|
+
One idea for the whole site: the page resolves from a wide quiet field (the
|
|
1536
|
+
orb, the big serif statement) to one precise line you can act on (the
|
|
1537
|
+
install command). Oversized light serif for statements, mono ledgers for
|
|
1538
|
+
facts, hairline rules instead of boxes, one ice accent used sparingly.
|
|
1539
|
+
Appended last so it wins by order; earlier rules stay for tests and for the
|
|
1540
|
+
focused pages that still use them. */
|
|
1541
|
+
:root{
|
|
1542
|
+
--bg:#07090D;
|
|
1543
|
+
--panel:#0C1017;
|
|
1544
|
+
--panel-2:#10151E;
|
|
1545
|
+
--ink:#EEF2F6;
|
|
1546
|
+
--cool:#B9C6D3;
|
|
1547
|
+
--mute:#7F8FA1;
|
|
1548
|
+
--line:rgba(185,210,235,.10);
|
|
1549
|
+
--line-2:rgba(185,210,235,.18);
|
|
1550
|
+
--bone:#E6E1D6;
|
|
1551
|
+
--mk-rule:rgba(185,210,235,.12);
|
|
1552
|
+
--mk-ease:cubic-bezier(.16,1,.3,1);
|
|
1553
|
+
--mk-measure:66ch;
|
|
1554
|
+
--mk-body:clamp(16.5px,.35vw + 15px,18.5px);
|
|
1555
|
+
--mk-h2:clamp(44px,5.4vw + 12px,104px);
|
|
1556
|
+
--mk-h3:clamp(24px,1.3vw + 18px,36px);
|
|
1557
|
+
--max:1280px;
|
|
1558
|
+
}
|
|
1559
|
+
html{background:var(--bg)}
|
|
1560
|
+
body{background:var(--bg);color:var(--ink);font-size:var(--mk-body)}
|
|
1561
|
+
.grain{opacity:.055}
|
|
1562
|
+
#gl{opacity:.22}
|
|
1563
|
+
.scroll-craft{opacity:.38}
|
|
1564
|
+
.craft-grid{opacity:.1}
|
|
1565
|
+
.craft-orbit{opacity:.5}
|
|
1566
|
+
|
|
1567
|
+
/* nav: solid, hairline, no frosted glass */
|
|
1568
|
+
.nav{background:rgba(7,9,13,.94);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-bottom:1px solid var(--mk-rule);padding-block:16px}
|
|
1569
|
+
.nav-links{font-size:13px;letter-spacing:.14em}
|
|
1570
|
+
.nav-links a.nav-download{background:var(--ink);color:#07090D;border-radius:2px;box-shadow:none}
|
|
1571
|
+
.nav-links a.nav-download:hover{background:var(--blue2);color:#07090D;box-shadow:none}
|
|
1572
|
+
.nav-chip{border-radius:2px}
|
|
1573
|
+
|
|
1574
|
+
/* type system */
|
|
1575
|
+
.section{max-width:var(--max);padding:clamp(88px,14vh,176px) var(--pad) 0}
|
|
1576
|
+
.section-label{font-size:11px;letter-spacing:.32em;color:var(--mute);margin-bottom:clamp(20px,2.4vw,32px)}
|
|
1577
|
+
.section-label::before{content:"";width:28px;height:1px;background:var(--blue);display:inline-block}
|
|
1578
|
+
.section-title{font-weight:300;font-size:var(--mk-h2);line-height:.94;letter-spacing:-.035em;max-width:14ch;margin-bottom:clamp(24px,3vw,40px);color:var(--bone)}
|
|
1579
|
+
.section-title em{font-weight:300;color:var(--blue2)}
|
|
1580
|
+
.section-lede{max-width:var(--mk-measure);font-size:var(--mk-body);line-height:1.62;color:var(--cool)}
|
|
1581
|
+
.section-more,.cmd-hint{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
|
|
1582
|
+
.section-more a,.cmd-hint a{color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:4px;transition:border-color .4s var(--mk-ease),color .4s var(--mk-ease)}
|
|
1583
|
+
.section-more a:hover,.cmd-hint a:hover{color:var(--blue2);border-bottom-color:var(--blue2)}
|
|
1584
|
+
|
|
1585
|
+
/* CTAs: square, confident, one filled */
|
|
1586
|
+
.enter-cta{border-radius:2px;box-shadow:none;background:none;border-color:var(--line-2);font-size:11.5px;letter-spacing:.2em;padding:16px 24px}
|
|
1587
|
+
.enter-cta::after{content:"→"}
|
|
1588
|
+
.enter-cta:hover{box-shadow:none;border-color:var(--ink);transform:none}
|
|
1589
|
+
.enter-cta.primary{background:var(--ink);color:#07090D}
|
|
1590
|
+
.enter-cta.primary:hover{background:var(--blue2);box-shadow:none}
|
|
1591
|
+
|
|
1592
|
+
/* ── home hero ── */
|
|
1593
|
+
.home{min-height:0;display:block;padding:clamp(28px,6vh,72px) var(--pad) 0;overflow:hidden;overflow:clip;overflow-clip-margin:0}
|
|
1594
|
+
.home::after{display:none}
|
|
1595
|
+
.home-inner{max-width:calc(var(--max) - 2 * var(--pad))}
|
|
1596
|
+
.hero-split{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:0;align-items:end}
|
|
1597
|
+
.hero-lede{--hero-measure:min(100%,820px);position:relative;z-index:3;padding-bottom:clamp(8px,2vw,24px)}
|
|
1598
|
+
.home-kicker{font-size:11px;letter-spacing:.32em;color:var(--mute)}
|
|
1599
|
+
.hero-split .home-title{font-weight:300;font-size:clamp(52px,6.6vw + 8px,124px);line-height:.9;letter-spacing:-.045em;color:var(--bone);text-shadow:none}
|
|
1600
|
+
.hero-split .home-title em{color:var(--blue2)}
|
|
1601
|
+
.hero-sub{font-size:var(--mk-body);line-height:1.62;max-width:56ch;color:var(--cool);text-shadow:none;margin-top:clamp(22px,2.6vw,34px)}
|
|
1602
|
+
.hero-product{margin-left:clamp(-160px,-9vw,-40px);overflow:visible}
|
|
1603
|
+
.hero-product figcaption{font-size:10.5px;letter-spacing:.3em;color:var(--mute)}
|
|
1604
|
+
.hero-note-line{letter-spacing:.2em}
|
|
1605
|
+
|
|
1606
|
+
/* the ridge field fades out above the installer instead of running through it */
|
|
1607
|
+
.hero-ridge{top:34%;height:clamp(200px,34vh,380px);opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,#000 55%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
|
|
1608
|
+
|
|
1609
|
+
/* installer: a terminal line, not a card */
|
|
1610
|
+
.hero-installer{position:relative;z-index:3;max-width:none;margin-top:clamp(48px,6vw,88px);border:0;border-top:1px solid var(--mk-rule);border-radius:0;background:var(--bg);box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(20px,3vw,48px)}
|
|
1611
|
+
.hero-install-tabs{border-bottom:0;padding:0;grid-column:1/-1}
|
|
1612
|
+
.hero-install-tab{border-radius:0}
|
|
1613
|
+
.hero-install-panel{grid-column:1;padding:18px 0 20px;min-width:0}
|
|
1614
|
+
.hero-install-command{background:none;border:0;padding:0;justify-content:flex-start;gap:clamp(16px,2vw,32px)}
|
|
1615
|
+
.hero-install-command code{font-size:clamp(14px,1vw + 8px,22px);color:var(--ink)}
|
|
1616
|
+
.hero-install-command code::before{content:"$ ";color:var(--blue)}
|
|
1617
|
+
.hero-install-meta{display:none}
|
|
1618
|
+
.hero-installer .os-dl{margin:0;gap:0;grid-column:2;grid-row:2;align-self:center}
|
|
1619
|
+
.os-dl{gap:0}
|
|
1620
|
+
.os-link{border-radius:0;border:0;border-left:1px solid var(--mk-rule);padding:12px 18px;color:var(--cool);font-size:11px;letter-spacing:.16em;transition:color .35s var(--mk-ease)}
|
|
1621
|
+
.os-link:first-child{border-left:0}
|
|
1622
|
+
.os-link:hover{color:var(--blue2)}
|
|
1623
|
+
.os-link::after{content:" ↓";color:var(--blue)}
|
|
1624
|
+
|
|
1625
|
+
/* stats: a ledger row, figures in the display face */
|
|
1626
|
+
.home-stats{margin:0;border:0;border-top:1px solid var(--mk-rule);border-bottom:1px solid var(--mk-rule);border-radius:0;padding-top:0;gap:0;background:var(--bg);box-shadow:none;overflow:visible}
|
|
1627
|
+
.home-stat{background:none;border-left:1px solid var(--mk-rule);padding:clamp(22px,2.6vw,36px) clamp(16px,2vw,28px);min-height:0}
|
|
1628
|
+
.home-stat:first-child{border-left:0;padding-left:0}
|
|
1629
|
+
.home-stat b{font-weight:300;font-size:clamp(40px,3.4vw + 10px,76px);letter-spacing:-.04em;color:var(--bone)}
|
|
1630
|
+
.home-stat span{font-size:10.5px;letter-spacing:.2em;margin-top:12px}
|
|
1631
|
+
|
|
1632
|
+
/* ── steps: an editorial ledger ── */
|
|
1633
|
+
#steps .steps-grid{grid-template-columns:1fr;gap:0;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--mk-rule)}
|
|
1634
|
+
#steps .step-card{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr) minmax(0,1.5fr);column-gap:clamp(20px,3vw,56px);align-items:baseline;padding:clamp(24px,3vw,40px) 0;border-top:0;border-bottom:1px solid var(--mk-rule);transition:background .5s var(--mk-ease)}
|
|
1635
|
+
#steps .step-card:hover{background:linear-gradient(90deg,rgba(159,211,255,.035),transparent 70%)}
|
|
1636
|
+
#steps .step-card .n{font-size:11px;letter-spacing:.26em;color:var(--mute);margin:0}
|
|
1637
|
+
#steps .step-card h3{font-family:var(--display);font-weight:300;font-size:var(--mk-h3);line-height:1.05;letter-spacing:-.02em;color:var(--bone);margin:0}
|
|
1638
|
+
#steps .step-card p{font-size:var(--mk-body);line-height:1.6;color:var(--cool);max-width:52ch}
|
|
1639
|
+
#steps .step-card:last-child h3{color:var(--blue2);font-style:italic}
|
|
1640
|
+
|
|
1641
|
+
/* ── reach ── */
|
|
1642
|
+
.mk-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,6vw,120px);align-items:end}
|
|
1643
|
+
.mk-split > .mk-head{grid-column:1}
|
|
1644
|
+
.mk-split > .mk-aside{grid-column:2;padding-bottom:clamp(8px,1vw,16px)}
|
|
1645
|
+
.mk-split > .mk-full{grid-column:1/-1}
|
|
1646
|
+
#reach .venues{margin-top:clamp(40px,5vw,72px);border:0;border-top:1px solid var(--mk-rule);border-bottom:1px solid var(--mk-rule);border-radius:0;background:none}
|
|
1647
|
+
#reach .venues-head{padding:14px 0;border-bottom:1px solid var(--mk-rule);letter-spacing:.24em}
|
|
1648
|
+
#reach .marquee{padding-block:6px}
|
|
1649
|
+
#reach .chip{background:none;border-color:transparent}
|
|
1650
|
+
.reach-cols{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,96px);margin-top:clamp(40px,5vw,72px)}
|
|
1651
|
+
.reach-cols .venues-head{padding:0 0 14px;border-bottom:1px solid var(--mk-rule);font-size:11px;letter-spacing:.26em;color:var(--mute);background:none}
|
|
1652
|
+
.reach-cols > div{min-width:0}
|
|
1653
|
+
.mk-index{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;row-gap:.12em;margin-top:18px;font-family:var(--display);font-weight:300;font-size:clamp(22px,1vw + 16px,32px);line-height:1.3;letter-spacing:-.015em;color:var(--bone)}
|
|
1654
|
+
.mk-index li{display:block;white-space:nowrap}
|
|
1655
|
+
.mk-index li:not(:last-child)::after{content:"/";margin:0 .32em 0 .38em;color:var(--blue-dim);font-style:normal}
|
|
1656
|
+
.mk-index li i{font-family:var(--mono);font-style:normal;font-size:.38em;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);vertical-align:.5em;margin-left:.3em}
|
|
1657
|
+
.mk-index li.mk-open{color:var(--blue2);font-style:italic}
|
|
1658
|
+
|
|
1659
|
+
/* ── custody and cost: two statements, not two boxes ── */
|
|
1660
|
+
#explore .moat-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:none;border:0;border-radius:0;overflow:visible;border-top:1px solid var(--mk-rule);border-bottom:1px solid var(--mk-rule);margin-top:clamp(40px,5vw,72px)}
|
|
1661
|
+
#explore .moat-card{background:none;border:0;border-radius:0;min-height:0;padding:clamp(32px,4vw,64px) clamp(0px,3vw,56px) clamp(32px,4vw,56px) 0;display:flex;flex-direction:column;gap:18px;transition:background .5s var(--mk-ease)}
|
|
1662
|
+
#explore .moat-card + .moat-card{border-left:1px solid var(--mk-rule);padding-left:clamp(24px,4vw,64px)}
|
|
1663
|
+
#explore .moat-card:hover{background:linear-gradient(180deg,rgba(159,211,255,.04),transparent 80%)}
|
|
1664
|
+
#explore .moat-card .n{color:var(--mute);letter-spacing:.26em}
|
|
1665
|
+
#explore .moat-card h3{font-weight:300;font-size:clamp(34px,2.6vw + 14px,64px);line-height:.98;letter-spacing:-.035em;color:var(--bone)}
|
|
1666
|
+
#explore .moat-card p{font-size:var(--mk-body);line-height:1.6;max-width:44ch}
|
|
1667
|
+
.mk-go{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue2)}
|
|
1668
|
+
.mk-go::after{content:" →";transition:margin .4s var(--mk-ease)}
|
|
1669
|
+
.moat-card:hover .mk-go::after{margin-left:6px}
|
|
1670
|
+
|
|
1671
|
+
/* ── cli: the single line ── */
|
|
1672
|
+
.cli-section .cli-install{margin:clamp(8px,1vw,16px) 0 clamp(28px,3vw,44px)}
|
|
1673
|
+
.cli-install-cmd{border:0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);border-radius:0;background:none;padding:clamp(20px,2.4vw,32px) 0;width:100%;max-width:none}
|
|
1674
|
+
.cli-install-cmd code{font-size:clamp(16px,1.6vw + 6px,34px);letter-spacing:-.01em;color:var(--ink)}
|
|
1675
|
+
.cli-install-cmd code::before{content:"$ ";color:var(--blue)}
|
|
1676
|
+
.cli-install-hint{margin-top:14px;letter-spacing:.2em}
|
|
1677
|
+
.convert-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(28px,4vw,72px);margin-top:clamp(40px,5vw,72px);align-items:start}
|
|
1678
|
+
.cli-frame{border-radius:2px;border-color:var(--mk-rule);box-shadow:0 40px 120px rgba(0,0,0,.55)}
|
|
1679
|
+
.cli-cap{letter-spacing:.24em;margin-top:14px}
|
|
1680
|
+
.convert-copy p{font-size:var(--mk-body);line-height:1.62}
|
|
1681
|
+
.convert-pills{display:block;margin-top:8px;border-top:1px solid var(--mk-rule)}
|
|
1682
|
+
.convert-pills span{display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--mk-rule);border-radius:0;padding:13px 0;background:none;color:var(--cool);font-size:11px;letter-spacing:.2em}
|
|
1683
|
+
.convert-pills span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.7}
|
|
1684
|
+
|
|
1685
|
+
/* desktop app: image left, copy and downloads beside it */
|
|
1686
|
+
.mk-desk{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);gap:clamp(28px,4vw,72px);align-items:end;margin-top:clamp(96px,12vw,176px);padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--mk-rule)}
|
|
1687
|
+
.mk-desk .app-shot{margin:0;grid-column:1;grid-row:1/3}
|
|
1688
|
+
.mk-desk .app-shot img{border-radius:2px;border-color:var(--mk-rule);box-shadow:0 40px 120px rgba(0,0,0,.6)}
|
|
1689
|
+
.mk-desk .app-shot-title{grid-column:2;margin:0;font-size:clamp(40px,3.2vw + 12px,76px);max-width:9ch}
|
|
1690
|
+
.mk-desk .app-shot-title sup{font-family:var(--mono);font-size:11px!important;letter-spacing:.22em;text-transform:uppercase;vertical-align:1.6em;margin-left:.3em}
|
|
1691
|
+
.mk-desk .mk-desk-copy{grid-column:2;display:flex;flex-direction:column;gap:22px}
|
|
1692
|
+
.mk-desk .mk-desk-copy p{color:var(--cool);font-size:var(--mk-body);line-height:1.6}
|
|
1693
|
+
.mk-desk .os-dl{flex-direction:column;margin:0;border-top:1px solid var(--mk-rule)}
|
|
1694
|
+
.mk-desk .os-link{border-left:0;border-bottom:1px solid var(--mk-rule);padding:15px 0;display:flex;justify-content:space-between}
|
|
1695
|
+
|
|
1696
|
+
/* footer */
|
|
1697
|
+
footer{margin-top:clamp(120px,16vw,220px);border-top:1px solid var(--mk-rule);padding-block:36px 44px}
|
|
1698
|
+
|
|
1699
|
+
/* focused pages inherit the same voice */
|
|
1700
|
+
.moat-grid{border-radius:2px}
|
|
1701
|
+
.moat-grid .moat-card{border-radius:0;background:rgba(12,16,23,.6);border-color:var(--mk-rule)}
|
|
1702
|
+
.moat-card h3{font-weight:300;letter-spacing:-.02em;color:var(--bone)}
|
|
1703
|
+
.surface-keep-card,.chain{border-radius:2px}
|
|
1704
|
+
|
|
1705
|
+
@media (max-width:1100px){
|
|
1706
|
+
.hero-split{grid-template-columns:1fr}
|
|
1707
|
+
.hero-product{margin:clamp(-40px,-4vw,-16px) auto 0;max-width:520px}
|
|
1708
|
+
.hero-installer{grid-template-columns:1fr}
|
|
1709
|
+
.hero-installer .os-dl{grid-column:1;grid-row:auto;margin-bottom:14px}
|
|
1710
|
+
.mk-split{grid-template-columns:1fr}
|
|
1711
|
+
.mk-split > .mk-aside{grid-column:1;margin-top:8px}
|
|
1712
|
+
.mk-desk{grid-template-columns:1fr}
|
|
1713
|
+
.mk-desk .app-shot,.mk-desk .app-shot-title,.mk-desk .mk-desk-copy{grid-column:1;grid-row:auto}
|
|
1714
|
+
.mk-desk .app-shot-title{max-width:none}
|
|
1715
|
+
.convert-grid{grid-template-columns:1fr}
|
|
1716
|
+
}
|
|
1717
|
+
@media (max-width:860px){
|
|
1718
|
+
#steps .step-card{grid-template-columns:1fr;row-gap:10px}
|
|
1719
|
+
.reach-cols{grid-template-columns:1fr}
|
|
1720
|
+
#explore .moat-grid{grid-template-columns:1fr}
|
|
1721
|
+
#explore .moat-card{padding-right:0}
|
|
1722
|
+
#explore .moat-card + .moat-card{border-left:0;border-top:1px solid var(--mk-rule);padding-left:0}
|
|
1723
|
+
}
|
|
1724
|
+
@media (max-width:620px){
|
|
1725
|
+
.section{padding-top:clamp(72px,12vh,112px)}
|
|
1726
|
+
.hero-split .home-title{font-size:clamp(44px,12.5vw,64px)}
|
|
1727
|
+
.home-stat{padding:20px 14px}
|
|
1728
|
+
.home-stat:nth-child(odd){border-left:0;padding-left:0}
|
|
1729
|
+
.home-stat:nth-child(n+3){border-top:1px solid var(--mk-rule)}
|
|
1730
|
+
.hero-installer .os-dl,.os-dl{flex-direction:column;width:100%}
|
|
1731
|
+
.os-link{border-left:0;border-bottom:1px solid var(--mk-rule);padding:14px 0}
|
|
1732
|
+
.cli-install-cmd code{white-space:normal;overflow-wrap:anywhere}
|
|
1733
|
+
.enter-cta{max-width:none}
|
|
1734
|
+
}
|
|
1735
|
+
@media (max-width:560px){
|
|
1736
|
+
.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
1737
|
+
.home-stat{padding:20px 0 20px 16px}
|
|
1738
|
+
.home-stat:nth-child(odd){padding-left:0}
|
|
1739
|
+
.home-stat b{font-size:clamp(34px,10vw,44px)}
|
|
1740
|
+
.hero-install-command{flex-direction:column;align-items:flex-start;gap:10px}
|
|
1741
|
+
.hero-install-command code{white-space:normal;overflow-wrap:anywhere;font-size:15px}
|
|
1742
|
+
.hero-kicker,.home-kicker{letter-spacing:.24em}
|
|
1743
|
+
}
|
|
1744
|
+
@media (prefers-reduced-motion:reduce){
|
|
1745
|
+
#steps .step-card,#explore .moat-card,.mk-go::after{transition:none}
|
|
1746
|
+
}
|
|
1747
|
+
/* ── end makeover layer ── */
|
|
1534
1748
|
</style>
|
|
1535
1749
|
</head>
|
|
1536
1750
|
<body>
|